C语言,如何修图中的程序,等于一个整数的位数相加之和?比如输入123,则运算1+2+3,输出为6。

如题所述

#include <stdio.h>
int main()
{
int n,sum=0;
scanf("%d",&n);
while(n)
{
sum+=n%10;
n/=10;
}
printf("sum=%d\n",sum);
return 0;
}

示例运行结果:

123

sum=6

123456

sum=21

追问

请问一下,for语句不行吗?

追答

当然可以啊。

for(;a!=0;a/=10) //改成这样就行了

追问

谢谢!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-21
#include<stdio.h>
int main()
{
int a,sum=0;
scanf("%d",&a);
for(;a>=1;a=a/10)
{
sum+=a%10;
}
printf("%d\n",sum);
return 0;
}
错在循环中你的a没有赋值,一直是不变的本回答被提问者和网友采纳
相似回答