正整数的正向分解
c
#include <stdio.h>
int main() {
int x;
printf("请输入一个待分解的正整数:");
scanf("%d",&x);
getchar();
int mask = 1;
int t = x;
while (t >9) //这个while循环得到mask(对应输入整数的位数)
{
t /= 10;
mask *=10;
}
printf("x=%d,mask=%d\n",x,mask);
do //通过上一步得到的mask,用do while循环正向分解输入的整数x,并在屏幕输出
{
int d = x / mask;
printf("%d",d);
if (mask > 9) //这个if循环解决分解到最后一位不输出空格
{
printf(" ");
}
x %= mask;
mask /=10;
} while (mask > 0);
printf("\n"); //增加一个换行,让输出的分解好的数字单独一排显示
getchar();
return 0;
}