输入一个整数,求它的位数及各位数字之和。例如,123的位数是3,各位数字之和是6 我错在哪里了 求解啊。。

#include<stdio.h>
int main(void)
{
int n,s=0,i=0,a=0;
printf("Input an integer:");
scanf("%d",&n);
while((n/10)!=0)
{
s+=(n%10);
n/=10;
i+=1;
}

printf("%d %d\n",s,i);
return 0;
}

#include<stdio.h>
int main(void) {
int n, s = 0, i = 0, a = 0;
printf("Input an integer:");
scanf("%d", &n);
while (n != 0) {
s += (n % 10);
n /= 10;
i += 1;
}
printf("%d %d\n", s, i);
return 0;
}
//你的判断条件有问题
//导致你每次都少进一次循环
//要学习自己调试程序
//今后上千行的代码都需要自己调试的
//加油吧!
希望能帮助到你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-01
while((n/10)!=0)

最高位没有算
相似回答