>>346
for(i=0; n; i++, n/=10) a[i] = n % 10;

で一の位から順番に入れてって、表示するときは逆からってのはどう?