对于整数的顺序分解我们需要
1,首先将每个位上的数分离,也就用【n/位数=mask】例如156要提出百位上的数就除以100就在电脑中得到了1,所以我们第一步数输入的数(n),位数一共有多少(X1)位,然后将我们需要分解的数(n)放入循环中利用【n/X1=该位的数】每次得到每一位数后。
2,然后将(X1)其除以10后作为下次新的位数,而n也需要%X1,得到下一次循环中的n1的数,然后继续循环直到当最后的个位因为if的进入条件是(mask>9)所以就不用进入if循环中去/10了
细节1,printf(“ ”)是让每次输出一位数字之间放一个空格让更输出整齐
细节2,这里是一个while循环和do while循环
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int mask=1;
int t=x;
while(t>9){
t/=10;
mask*=10;
}
printf("x=%d,mask=%d\n",x,mask);
do{
int d=x/mask;
printf("%d",d);
if(mask>9){
printf(" ");
}
x %=mask;
mask/=10;
}while(mask>0);
printf("\n");
return 0;
}
结果展示
标签:10,顺序,int,mask,整数,while,分解,printf,X1 From: https://blog.csdn.net/JJhamburger/article/details/143513447