用C语言写
输入n个数,接下来一行有一个数字q,接下来q行,每行有两个数l,r,代表区间开始的编号和结束的编号。问从第L个数到第R个数的和
#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--) {
int l,r,n,x,q;
//int sum[10]={0};
long long sum=0;
scanf("%d",&n);
for(int i=0;i<n;i++) {
scanf("%d",&x);
}
scanf("%d",&q);
for(int j=0;j<q;j++) {
scanf("%d%d",&l,&r);
for(int k=l;k<=r;k++) {
sum=sum+k;
}
}
printf("%lld",sum);
}
return 0;
}
这是我自己写的 有点小问题。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 0, q = 0, l = 0, r = 0, i = 0, sum = 0;
scanf("%d", &n);
int* arr = (int*)malloc(sizeof(int) * n);
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &q);
while (q--)
{
sum = 0;
scanf("%d%d", &l, &r); //l和r代表数组下标
for (i = l; i <= r; i++)
{
sum += arr[i];
}
printf("%d\n", sum);
}
return 0;
}