用C语言接收用户输入的一个四位数,用while循环计算个位,十位,百位,千位之和,

用C语言接收用户输入的一个四位数,用while循环计算个位,十位,百位,千位之和,

#include "stdio.h"

void main()
{
int num,sum=0;
int temp1 = 0, temp2=0;
scanf("%d", &num); //输入一个数字
temp2 = num; //临时存储数字
while (temp2 >0)
{
temp1 = temp2 % 10;//取数字的最后一位数
temp2 = temp2 / 10;//让临时数字右边去除一位
sum += temp1;//求和
}
printf("%d各位数之和为%d\n", num, sum);//显示
}

 不限于四位数,你要是要求必须输入四位数,就加个if判断一下,我就不写了

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-07-30
望采纳

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>

int main()
{
char buf[BUFSIZ];
int num,res=0;
while(1)
{
fgets(buf,BUFSIZ,stdin);
num=atoi(buf);
if(num>=1000&&num<=9999)
break;
else
printf("input err and do again\n");
}
while(num)
{
res+=num%10;
num/=10;
}
printf("the sum is %d\n",res);

return 0;
}本回答被网友采纳
第2个回答  2018-07-26
#include"stdio.h"
void main()
{long i,sum=0;
int t;
scanf("%d",&i);
while(i!=0)
{t=i%10;
sum+=t;
i=i/10;
}
printf("sum is %d",sum);
}
第3个回答  2017-08-09
#include<stdio.h>
main()
{
int a,b,c,d,e,sum;
while(1)
{
printf("请输入一个四位数字:\n");
scanf("%d",&a);
b=a/1000;
c=(a-b*1000)/100;
d=(a-b*1000-c*100)/10;
e=(a-b*1000-c*100-d*10)/1;
printf("b=%d\n",b);
printf("c=%d\n",c);
printf("d=%d\n",d);
printf("e=%d\n",e);
sum=b+c+d+e;
printf("sum=%d\n",sum);
}
return;
}
相似回答