第1个回答 2011-10-10
#include <stdio.h>
int main(int argc, char *argv[])
{
int t,n,c,sum;
while(scanf("%d",&n)!=EOF)
{
t = n;
c=0;
sum = 0;
do
{
/*
统计数字 n 的位数
*/
c++;
/*
数字 n 各个位上的数字求和
t%10 为当前最低位(最右边)的数字
*/
sum += t%10;
/*
舍弃当前最低位(最右边)的数字
也就是把当前的倒数第二低位变成最低位
*/
t /= 10;
}while(t);
if(c != 3)
{
printf("%d 不是三位数!\n",n);
}
else
{
printf("三位数 %d 各个位上的数字之和为:%d!\n",n,sum);
}
}
return 0;
}
第2个回答 2011-10-10
#include <stdlib.h>
#include "stdio.h"
#include <string.h>
void main()
{
int i,n,sum=0;
char str[10];
printf("输入整数:\n");
scanf("%d",&n);
itoa(n, str, 10);
for(i=0;i<strlen(str);i++)
sum+=str[i]-'0';
printf("%d\n",sum);
}
第3个回答 2011-10-10
void main()
{
int num = 0; //要求和的三位数
int sum = 0; //三位数各位数相加之和
bool flag = 1; //标识输入的是否为三位数,不是三位数则flag = 1
while(flag)
{
printf("请输入三位有效数字:");
scanf("%d", &num);
if(num>99 && num <1001)
{
flag = 0;
sum = (num%10) + (num/10%10) + (num/100);
}
else
{
flag = 1;
}
}
printf("三位数各数字之和为%d\n", sum);
}本回答被提问者采纳
第4个回答 2011-10-10
a+b*10+c*100