大力神重生:c语言一个程序。。。

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 04:31:23
#include <stdio.h>

void main()
{
int n;
printf("请输入一个四位数:\n");

/*晕了。。想想。。。。。*/
scanf("%d",&n);
a=n%1000
b=(n-a*1000)%100
c=
d=
n=a+b+c+d

printf("每一位数字相加之和为: %d\n",a+b+c+d);
}
接收输入一个四位整数
编写一个程序,将该数的每一位数字相加并显示结果

这个思路对吗?。。。
怎么改改呀
还有a=n%1000
b=(n-a*1000)%100 是什么意思呀?

不对:首先你没定义a,b,c,d;再次n%1000得的是余数不是s商应写成a=n/1000;b=(n%1000)/100;c=(n%100)/10;d=n%10;

main()
{
int n;
scanf("%d",%n);
int a=n%10;
int b=n%100-a;
int c=n%1000-b*10-a;
int d=n%10000-c*100-b*10-a;
printf("%d",a+b+c+d);
getchar();
}
这样效率不高,不过很好理解
%就是取余数
比如 91%10=1(91/10=9余1)
%100就得到一个两位数,减去个位就是十位上的数字
%1000得到一个三位数,减去十位上的数乘他的权(10)在减个位上的数乘他的权(1)

晕好象理解错了点东西。

呵呵,a=n%1000 就是让a的值等于n这个四位数的千位。
b=(n-a*1000)%100同理就是把百位的值赋给b
(例如:n=3456,a=3456%1000==3;
b=(3465-3000)%100==4;

“c=
d=”这是什么?c语言里这么还允许这种写法?
"n=a+b+c+d"表明c和d都是代表十位和各位。你可以依照a和b的求法写出表达式。

/*抽取千位数这个整数,把它赋给A*/
a=n%1000
/*抽取百位数这个整数,把它赋给B*/
b=(n-a*1000)%100

N是你现在输入的这个4为正整数,A是这个正整数千位数的数值,N-A*1000=B

B再和100%.推出哪个数了?自己算算...

--------
小弟刚学C语言,不知道在C++里还用不用定义a,b,c,d;

思路差不多吧,不过 %是求余数的意思,要取每位应该用整除 /

a = n / 1000;
n -= a * 1000;

这样取下去到个位