#include<stdio.h>
#include<stdlib.h>
void main()
{
char str[20];
long int i;int cnt=0;
scanf("%ld",&i);
itoa(i,str,10);
while(i>0) {i/=10;cnt++;}
printf("这个数是%d位数。它的各个位上的数分别为:",cnt);
for(i=0;i<cnt;i++) printf("%c,",str[i]);
printf("\n");
}

输入的位数不能太多,因为long int型整数最多支持到多少位来着~你试试看吧^_^