C语言中求N个数的和。

输入为多行,每行为一组测试样例。每个测试样例以一个整数N开始,后面接着是N个整数。
每组测试样例对应一行输出,输出所给的N个整数之和,顺序与输入对应。

一、 算法:

1 输入N;

2 循环输入N个数值;

3 将每个数值累加到结果上;

4 循环结束后输出结果。 

二、代码:

#include <stdio.h>
int main()
{
    int N, s=0, n;
    scanf("%d",&N);//输入N
    while(N--)//循环N次
    {
        scanf("%d",&n);//输入一个数。
        s+=n;//累加。
    }
    printf("%d\n", s);//输出结果
    
    return 0;
}

三、运行截图示例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-17
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i, k=0,n,a[100][100],b[100]={0};
while (1)
{
printf("输入第%d行N(1<=N<=100),输入ctrl+Z退出\n",k+1);
if (scanf("%d", &n) == EOF)
break ;
printf("输入第%d行%d个整数\n",k+1,n);
for (i=0; i<n; i++)
{
scanf("%d", &a[k][i]);
b[k]+=a[k][i];
}
k++;
if(k>=100)break;
}
for(i=0;i<k;i++)
printf("%d\n",b[i]);
}
第2个回答  推荐于2018-05-16
//******************************************************************************
// 输出所给的N个整数之和,顺序与输入对应
//******************************************************************************
#include<stdio.h>
int main()
{
int n, num, sum = 0;
while(scanf("%d", &n) != EOF) //多项测试, Ctrl + Z 结束
{
sum = 0;
while(n--) //累加N个整数和
{
scanf("%d", &num);
sum += num;
}
printf("%d\n", sum); //输出
}
}

//祝你学习进步,更上一层楼!(*^__^*)本回答被网友采纳
第3个回答  2011-11-17
int a[100];
int i,j,sum=0,n;
printf("Input number:\n);
for(i=0;;i++)
{
scanf("%d",a[i]);
if(i==a[0]+1)
break;
}
for(i=0;i<=a[0];i++)
sum+=a[i];
要是多组数据的话,多一层循环本回答被提问者采纳
第4个回答  2011-11-17
#include<iostream>
using namespace std;
#define N 100
void main()
{
int n, count = 0, i;
int * sum = new int[N];
for (i = 0; i < N; ++i)
sum[i] = 0;
cin >> n;
while (n != 0)
{
int *a = new int[n];
for (i = 0; i < n; ++i)
{
cin >> a[i];
sum[count] += a[i];
}
count++;
cin >> n;
}
for (i = 0; sum[i] != 0; ++i)
cout << sum[i] << endl;
}
输入格式为:3 1 2 3
4 1 2 3 4
0
注意:输入以0结尾。
输出格式为:6
10
相似回答