c语言对于一个任意的三位自然数X,编程计算其各个数位上的数字之和S。

思路 与 程序

思路: 提取出个位 十位 百位的数字, 个位直接对10取余,百位对100取余,十位先除以10在对10取余

# include <stdio.h>
int main(void)
{
int num;
int sum = 0;
printf("输入一个三位数:");
scanf("%d", &num);
sum = num % 10 + num/10 %10 + num/100; /* 提取 个位 十位 百位 并作和*/
printf("和为:%d\n", sum);

return 0;}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-24
#include <stdio.h>
int main(void)
{
int a,j,k,l,sum=0;

_GOAL:
printf("请输入一个三位的整数:");
scanf("%d",&a);
if (99<a&&1000>a)
{
j=a/100;
sum+=j;

k=a%100;
k=k/10;
sum+=k;

l=a%10;
sum+=l;
printf("各个位数的和为 %d\n",sum);
}
else
{
printf("你的输入有误请重新输入!\n");
goto _GOAL;
}

return 0;
}
第2个回答  2012-11-24
#include "stdio.h"
void main()
{
int a,b,c,i,sum = 0;
char str[3];
gets(str);
for(i = 0;i < 3; i++){
sum = sum + (int)(str[i]-'0');
}
printf("%d\n",sum);
}本回答被网友采纳
相似回答