2094 前缀和
题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=2094
题目描述:
输入一个长度为n(1 <= n <= 100000)数组ai(0<=ai<=1000),输出他的前缀和。
前缀和中的第i项,表示原数组中的前i项的和。
输入:
第一行一个整数n,表示数字长度
接下来n行,每行一个整数ai,表示数组的内容。
输出:
输出第一行为数组长度n
接下来n行为前缀和的结果。
输入样例
3
1
2
3
输出样例
3
1
3
6
解题思路:
一维前缀和
代码如下:
Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
System.out.println(n);
int[] a = new int[100005];
for (int i = 1; i <= n; i++) {
a[i] = sc.nextInt();
sum += a[i];
System.out.println(sum);
}
System.out.println();
}
}
C++
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main(){
int n;
int sum=0;
cin>>n;
cout<<n<<endl;
int a[100005];
for(int i=1;i<=n;i++){
cin>>a[i];
sum+=a[i];
cout<<sum<<endl;
}
return 0;
}