#include
int main()
{
int T, n, i, m = 0, j;
scanf_s("%d", &T);
int arr[2] = {0};
if (T != 0)
{
for (i = 0; i < T; i++)
{
scanf_s("%d", &n);
for (j = 1; j <= n; j++)
{
m = m + j;
arr[i] = arr[i] + m;
}
m = 0;
}
}
printf("%d\n%d", arr[0],arr[1]);
return 0;
}
圈出来的部分我不是太理解是什么意思,怎么实现呢
这段代码定义了一个长度为2的数组arr,用于存储输入中的两个数字序列对应的结果。
在第一个for循环中,对于每个输入的数字n,使用另一个for循环计算了1到n之间所有整数的和,将这个和加到变量m中。然后将m加到arr[i]中,i为外层循环的迭代变量,即将计算结果存储在arr数组的相应位置中。
在循环结束时,将m重新赋值为0,以便进行下一个循环。最后,将arr[0]和arr[1]分别作为输出打印出来。
总体上,这段代码的功能是计算两个数字序列中所有整数的和,并将结果存储在一个数组中。有用请采纳
供参考:
#include<stdio.h>
int main()
{
int T, n, i, m, j, sum;
while (1){
scanf("%d", &T);
if (T == 0) break;
for (i = 0; i < T; i++)
{
scanf("%d", &n);
for (j = 1,m = 0,sum = 0; j <= n; j++)
{
m += j;
sum += m;
}
printf("%d\n", sum);
}
}
return 0;
}