C语言程序设计,输入一个正整数,求这个正整数各个位数上数字之和

这个题目挺简单的!
思路是这样子的!先把各个位数上数字从这个数分离从来,同时把它加起来!然后再把它删了!
#include<stdio.h>
int main()
{
int sum=0,m;
printf("请输入一个数!\n");
scanf("%d",&m);
while(m)
{
sum+=m%10;
m/=10;
}
printf("最后的结果是%d\n",sum);
getch();
return 0;

}
希望对你有所帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-13
我这个方法也很好,是先变成字符串,然后累加!
#include <stdio.h>

int sum(int x)
{
char s[32] =""; char * y = s; int total = 0;
sprintf(s, "%d", x);
while(!*y) {
total += *y - '0';
y++;
}
return total;
}

int main(void)
{
int x = 0;
printf("请输入一个整数:");
scanf("%d", &x);
printf("这个整数各个位数上数字之和=%d", sum(x));
return 0;
}本回答被网友采纳
相似回答