用C语言编程,输入一个正整数,计算并显示该数的各位数字之和。

如题所述

以下是一份C语言程序,能够计算并显示一个正整数的各位数字之和:
```c
#include <stdio.h>
int main() {
int num, sum = 0;
printf("Please input a positive integer:");
scanf("%d", &num);
// 循环提取num的个位数字并求和
while (num > 0) {
sum += num % 10;
num /= 10;
}
// 输出结果
printf("The sum of digits of the integer is: %d\n", sum);
return 0;
}
```
在程序中,首先从键盘输入一个正整数,然后利用循环计算该数的各位数字之和,并把结果存储在变量 `sum` 中。在循环中,每次取余操作 `num % 10` 可以得到num的个位数字,将结果加入累加器中,同时将 `num` 缩小10倍,以便在下一次循环时提取下一位数字。当 `num` 被除以 10 后,如果商为 0,则表示num的所有位数都已经被提取完了,可以退出循环。
最后,输出结果即可。
需要注意的是,在实际的应用场景中,应该对输入的正整数进行边界处理,以确保输入数据的正确性。同时,在进行整数运算时,还需要注意可能出现的整数溢出问题。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-21
#include <stdio.h>

int main()
{
int a, sum = 0;
scanf("%d", &a);

while (a)
{
sum += a % 10;
a /= 10;
}

printf("sum = %d\n", sum);
return 0;
}本回答被提问者采纳
第2个回答  2011-10-21
#include <stdio.h>

int main()
{
int a, sum = 0;
scanf("%d", &a);

for(;;)
{
sum += a % 10;
a /= 10;
if(a==0)
break;
}

printf("sum = %d\n", sum);
return 0;
}