二、代码分析及运行结果
例子:
13245有五位数
13425 / 10000 = 1
13425%10000=3425
3425 / 1000= 3
3425%1000=425
425 /100=4
425 / 100=25
25 / 10 =2
25%10 =5
c语言的算法思路很重要,可以先在纸上自己写分析
这样我们就单独取得了整数各个数位,按照分析可写出以下代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x;
scanf("%d",&x);
int t=x;
int mask=1;
while(t>9){ 这一段是为了求出输入整数x的位数
t/=10; t>9是防止mask比x的数位大一位
mask*=10;
}
while(mask>0){
int p = x/mask; 这一段为了执行上段紫色的分析;
x%=mask; while括号里条件选mask
mask/=10;
printf("%d ",p);
}
return 0;
}