回 帖 发 新 帖 刷新版面

主题:第2天学习C语言遇到了问题,请帮下 3Q!

第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个回复)

沙发


#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位数字,可以从上面的找规律呀,试试吧,提示一下,可能会用上双重循环

板凳

是啊,
N位数字也是很好实现的^_^

3 楼

谢谢

4 楼

#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 楼


可不可以像线性表那样,直接找出第几位是什么数字呢??
我也是刚开始学数据结构,希望大虾能解答一下。谢谢!

6 楼

这个是对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 楼

我是一个小学生,有错误请大家帮忙

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;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册