7-3 sdut-C语言实验-区间之和
给定一个由 n 个整数组成的序列A1,A2,……, An 和两个整数L,R,你的任务是写一个程序来计算序列号在L,R 这段位置区间内所有数的总和。
输入格式:
输入只有一组测试数据:
测试数据的第一行为一个整数 n (1< n < 10000);
第二行为 n 个 int 类型的整数;
第三行为两个整数 L,R(0 < L < R <= n)。
输出格式:
输出序列号在区间[L,R]内所有数的和,数据保证和在 int 类型范围内。
输入样例:
5
3 5 6 2 9
2 4
输出样例:
13
答案示例1(有注释)
#include<stdio.h>
int main ()
{
int n,l,r;
int sum=0,i;
scanf("%d",&n);//第一行输入
int a[n];//定义数组
for(i=0;i<n;i++)
scanf("%d ",&a[i]);//第二行输入,对数组进行赋值
scanf("%d %d",&l,&r);//第三行输入
for(i=l-1;i<r;i++)//for循环计算l与r之间的数的和,注意第l个数是a[l-i]
sum+=a[i];
printf("%d",sum);//输出和
return 0;
}
答案示例(无注释)
#include<stdio.h>
int main ()
{
int n,l,r;
int sum=0,i;
scanf("%d\n",&n);
int a[n];
for(i=0;i<n;i++)
scanf("%d ",&a[i]);
scanf("%d %d",&l,&r);
for(i=l-1;i<r;i++)
sum+=a[i];
printf("%d",sum);
return 0;
}