正整数的正向分解
正整数的正向分解
#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;
}