题目1:
输入描述: 第一行输入为整数数组 Array 的长度 n,接下来 n 行,每行一个整数,表示数组的元素。随后的输入为需要计算总和的区间下标:a,b (b > = a),直至文件结束。
输出描述: 输出每个指定区间内元素的总和。
题目链接
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] startX=new int[n];//用于存储数组
int[] startY=new int[n];//为什么定义两个数组,一个存,一个直接算好放里面
int s=0;
for(int i=0;i<n;i++){//数组里的元素
startX[i]=sc.nextInt();
s+=startX[i];//已经都处理了(加后的值)
startY[i]=s;//倘若区间是(1,3),那减去0的值不就是1-3区间的和
}
while(sc.hasNextInt()){//区间
int a=sc.nextInt();
int b=sc.nextInt();
int sum;
if(a==0){
sum=startY[b];
}else{
sum=startY[b] - startY[a-1];//为什么减一,可以演示一遍
}
System.out.println(sum);
}
sc.close();
}
}