解题思路:
通过多个while语句进行数据的拆解
注意事项:
1.本程序是初级阶段代码,仅供理解;
2.思路不要局限于本程序,如正向输出一个整数的单个数字,也可使用递归函数(自行百度);
3.每个人都有不同的想法,没准你的想法也是对的哦!所以要努力解决自己的问题,不要放弃呐!
参考代码:
int num,i=0,tmp,tmp1,num1=0,tmp2=0;
scanf("%d",&num); //获取整数
tmp=num; //保存输入的值
while(num!=0){ //通过while循环检查数字个数
num=num/10; // 除运算将数据的最后一位移除,直至最后一位为0;
i++;
}
printf("%d\n",i);
num=tmp; //将保存的值重新赋值给输入变量
while(num!=0){
tmp2=tmp2*10+num%10; //实现对输入值得逆向重组。
num=num/10; //将数据的最后一位移除
}
num=tmp2; //经过上面的while循环得到tmp2的只是逆向重组的值
while(num!=0){ //将重组后的值逆向单个输出
tmp1=num%10;
num=num/10;
printf("%d",tmp1); //输出每次取余的结果
if(num!=0) //题目要求:最后一个数字后面没有空格
printf(" ");
}
printf("\n");
while(tmp!=0){
num1=num1*10+tmp%10; //同上,再写一遍,是因为要符合题目格式要求
tmp=tmp/10;
}
printf("%d",num1);
0.0分
1 人评分
【偶数求和】 (C语言代码)浏览:670 |
本人酷爱递归实现很多问题,这里也是浏览:588 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:1016 |
1017题解浏览:660 |
模拟计算器 (C++代码)浏览:880 |
演讲大赛评分 (C语言代码)浏览:1686 |
简单的a+b (C语言代码)浏览:534 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:808 |
字符逆序 (C语言代码)浏览:533 |
拆分位数 (C语言代码)浏览:550 |