检查下我的程序输入一个正整数,计算该数各位数字的和,并输出倒序数

问题描述:

检查下我的程序输入一个正整数,计算该数各位数字的和,并输出倒序数
#include
#include
void main() {
int a,b,i,n=0;
int sum=0;
printf("Input the number:\n");
scanf("%d",&a);
for(i=0;;i++){
if(a/pow(10,i)>=1){
n++;
}
printf("%d",n);
else
break;
}
for(i=n-1;i>=0;i--){
b=a/pow(10,i);
a=a-b*pow(10,i);
sum=sum+b;
}
printf("%d\n",sum);
}
1个回答 分类:综合 2014-10-27

问题解答:

我来补答
这个地方会是死循环
for(i=0;;i++){
if(a/pow(10,i)>=1){
n++;
}
没有循环结束语句,那么什么时候会结束呢?也就是说下面的语句其实都没有执行.
-------------------------------------------------------------------------------------------------------------------
之前你在那里写了一句printf,没注意到下面有else,你的if和else不匹配,把输出n的那句话去掉就可以了.然后你最后的思路是对的,只是没有逆序输出,其他的没问题.
 
 
展开全文阅读
剩余:2000