//整数分解,如n=13528-->1 3 5 2 8
// n/10000得到最高位的数,n%10000去掉最高位的数
// 13528/10000=1;13528%10000=3528
// 3528/1000=3; 3528%1000=528
// 528/100=5; 528%100=28
// 28/10=2; 28%10=8
// 8/1=8; 8%1=0
#include <stdio.h>
int main()
{
int n; //要分解的数
int inst=1; //n要除的数
int m; //存放分解后的数
printf("输入正整数\n");
scanf("%d", &n);
int x=n; //存储初始的n值,方便再次使用
//获取inst值,先获得最高位,然后inst/10逐次降低
n /= 10;
while ( n>0 )
{
inst *= 10;
n /= 10;
}
printf ( "inst=%d\n", inst);
while ( x>=0 ) //x>=0可保障"0"的分解,如200
{
m = x/inst; //取出最高位的数
x %= inst; //去掉最高位的数
inst /= 10;
printf("%d ", m);
}
return 0;
}