c语言之正序整数拆解

c语言之正序整数拆解_第1张图片

 二、代码分析及运行结果

例子:

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
#include

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;
}

你可能感兴趣的:(学习,习题,c语言,开发语言,后端)