整数分解
int main()
{
/* 第一种 末尾无0 int x=12345;
int d,t=0;
while(x>0)//逆序
{
d=x%10;
t=t*10+d;
x/=10;
}
// printf("t=%d “,t);//t=54321
x=t;
while(x>0)//逆序加分隔
{
d=x%10;
printf(”%d “,d);
//如果要最后一个数字后面不带空格则 if(x>9)printf(” “);
x/=10;
}
// 结果为 1 2 3 4 5
return 0;
/
//第二种 所有数字都可
/
12345/10000=1;
12345%10000=2345;
2345/1000=2;
2345%1000=345;
345/100=3;
345%100=45;
45/10=4;
45%10=5;
5/10=0
/
int x=12345;
int d,t,mask=1;
t=x;//求位数时x的值被改变,无法继续使用;
while(x>9)//计算x的位数,使mask为相应10的次方,
{
x/=10;
mask=10;
}
while(mask>0)
{
d=t/mask;
printf(”%d “,d);//如果要最后一个数字后面不带空格则 if(x>9)printf(” ");
t%=mask;
mask/=10;
}
}