描述
Tom最近喜欢数字加法,她最喜欢把一行数据加在一起,然后输出。
输入
第一行有一个数字n,表示后面有n行数字。以后的每一行数字,第一个数字m表示,该行要计算从该行第2个数字到m+1个数字之和。
输出
每一行对应一组输入数据的结果。
样例输入
3
3 1 2 3
2 10 20
4 1 2 3 1
样例输出
6
30
7
思路:
首先要完成此题的输入,首先想到了用双循环实现,为了方便求和,我使用了数组记录数据(因题目中未给数据的取值范围,所以我们可以把数组开大一些),不能直接在循环中输出,否则会导致输入一组数据便会输出一个值(别问我怎么知道的 )
源代码
#include<iostream>
using namespace std;
int main()
{
int n, a[10005], b[10005], sum[10005] = { 0 };
//将sum数组全部值初始化为0
int i, j, k;
cin >> n;
for ( i = 0; i < n; i++)
{
cin >> a[i];
for (j = 0; j < a[i]; j++)
{
cin >> b[j];
sum[i] = b[j] + sum[i];
}
}
for ( k = 0; k < i; k++)
cout << sum[k] << endl; //输出所需值
return 0;
}