从键盘输入一个四位的正整数X,c语言编程计算X的每一个数字相加之和,怎么写以及思路

如题所述

#include "stdio.h"//包含头文件
main()
{
int x,a,b,c,d;//声明四个变量用于存储四位数及其各位的数
printf("请输入一个四位整数\n");//输出提示语句
scanf("%d",&x);//从屏幕上获取这个四位数
a=x%10;//获取个位
b=(x%100)/10;//获取十位
c=(x%1000)/100;//获取百位
d=x/1000;//获取千位
printf("%d各位相加结果为%d\n",x,a+b+c+d);//输出这个四位数及其各位的和
}
vc上运行通过。希望你能满意
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-06
思路很简单,取得各位数字,然后加起来嘛!各位数字取出来的方法就是除10取余,辗转相除保存起来就出来了。比如x=1234,定义int a,b,c,d;
a = x%10;
x=(int)x/10;
b = x%10;
x=(int)x/10;
c = x%10;
x=(int)x/10;
d = x%10;
x=(int)x/10;
最后加起来就行了啊,当然这仅限于四位,如果想写好那就用数组保存。思路就是这样的
第2个回答  2012-05-06
比如这个四位数是X=abcd。那么现在就是求s=a+b+c+d。
d是个位数,就是X对10求余,即d=X%10;
c是十位数,就是c=X%100-d;
b是百位数,就是b=X%1000-X%100;
a是千位数,就是X对1000取整,即a=X/1000;
希望对你有帮助。没懂继续问。
第3个回答  2012-05-06
x与10 做 % 运算,得到x的最低位数,
然后 x = x / 10 , 就会略去最低位,
循环这个过程就会得到各个位的数,
小伙子,写写看
第4个回答  2012-05-06
#include<stdio.h>
void main()
{
int n,temp;
int sum=0;
printf("Please input a number:");
scanf("%d",&n);
while(n!=0)
{
temp=n%10;
n=n/10;
sum=sum+temp;
}
printf("%d\n",sum);
}
相似回答