2 条题解

  • 0
    @ 2025-9-26 23:00:22

    对一组整数进行迭代累积求和。具体逻辑如下:
    读取整数个数 nn 个整数;
    通过循环对这组整数进行特殊累加:
    每次循环将当前整数加到临时变量 ans 中;
    再将 ans 的值累加到总和 sum 中;
    最后更新 ans 为当前 sum 的值,作为下一轮累加的基础;
    循环结束后,输出最终的 sum

    #include <stdio.h>  // 包含标准输入输出库
    
    int main() {
        int n;              // 存储整数的个数
        int num[100];       // 存储输入的整数数组(最大容量100)
        long long ans = 0;  // 临时累加变量,用long long防止溢出
        long long sum = 0;  // 总累积和,用long long防止溢出
    
        // 读取整数个数n
        scanf("%d", &n);
    
        // 读取n个整数到数组num中
        for (int i = 0; i < n; i++) {
            scanf("%d", &num[i]);
        }
    
        // 迭代计算累积和
        for (int i = 0; i < n; i++) {
            ans += num[i];   // 临时变量累加当前整数
            sum += ans;      // 总和累加临时变量的值
            ans = sum;       // 更新临时变量为当前总和,用于下一轮计算
        }
    
        // 输出最终的累积和
        printf("%lld\n", sum);
    
        return 0;
    }
        
    
    

    信息

    ID
    617
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    38
    已通过
    10
    上传者