主题:第2天学习C语言遇到了问题,请帮下 3Q!
sealv
[专家分:0] 发布于 2006-07-18 14:36:00
第2天学习C语言 遇到了问题,请帮下 3Q!
题目:接受一个四位整数。编写一个程序,将该数的每一位数字相加并显示结果。
同学都用了一种方式是:一共取5个变量:a,b,c,d,e
其中a为接受的四位数字,b,c,d,e分别是用a除于1000,100,10,1得出的余数
就分别得出a这个四位数的 第1,2,3,4位 在相加得出结果!
虽然大概意思动了但是在具体语法上还是比较模糊,希望各位哥哥帮下忙。
写出这个简单的程序代码。
另外我感觉这个算法有点偷巧的意思,我如果求一个N位数字的每一位相加的和那么有该是什么样的程序呢!我知道各位都是有一定功力的人事希望帮下小弟。本人学的函数不多如果能有注释就帮大忙了 在这先谢了!在线等回
[em1]
回复列表 (共7个回复)
沙发
www115830 [专家分:90] 发布于 2006-07-18 21:53:00
#include <stdio.h>
main()
{
int a,b,c,d,e,sum;
printf("Please input the num:\n");
scanf("%d",&a);
b=(a%10000)/1000;
c=(a%1000)/100;
d=(a%100)/10;
e=(a%10)/1;
sum=b+c+d+e;
printf("sum=%d",sum);
getch();
}
至于N位数字,可以从上面的找规律呀,试试吧,提示一下,可能会用上双重循环
板凳
子时之龙 [专家分:220] 发布于 2006-07-19 17:11:00
是啊,
N位数字也是很好实现的^_^
3 楼
sealv [专家分:0] 发布于 2006-07-19 19:06:00
谢谢
4 楼
286850875 [专家分:100] 发布于 2007-09-19 18:47:00
#include <stdio.h>
main()
{
int a,b,c,d,e,sum;
printf("Please input the num:\n");
scanf("%d",&a);
b=(a%10000)/1000;
c=(a%1000)/100;
d=(a%100)/10;
e=(a%10)/1;
sum=b+c+d+e;
printf("sum=%d",sum);
getch();
}
5 楼
t5k5 [专家分:0] 发布于 2007-09-20 16:27:00
可不可以像线性表那样,直接找出第几位是什么数字呢??
我也是刚开始学数据结构,希望大虾能解答一下。谢谢!
6 楼
qwect [专家分:0] 发布于 2007-09-23 20:47:00
这个是对n位数求和的代码,用循环做的。用VC运行过的,绝对正确
#include<stdio.h>
void main()
{
int i,n,k,a=0,sum=0;
printf("请输入整数k的位数:");
scanf("%d",&n);
printf("请输入一个%d位数:",n);
scanf("%d",&k);
for(i=0;i<n;i++)
{
a=k%10;
sum+=a;
k=k/10;
}
printf("整数k的各位数字的和为:%d\n",sum);
}
7 楼
bdfxxhy [专家分:0] 发布于 2007-09-24 22:22:00
我是一个小学生,有错误请大家帮忙
vc++:
include<fstream>
using namespace std;
int main()
{
int n,r,sum;
ifstream fin("a.in");
ofstream fout("a.out");
fin>>n;
sum=0;
i=0;
r=n;
while(n!=0)
{
r=n % 10;
sum+=r;
n=n \ 10;
}
fout<<sum;
return 0;
}
我来回复