关于#c#的问题,如何解决?

img


img

#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;
}