You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:如何实现输出1到100的累加过程(如1+2+…+100)

如何输出1到100的累加表达式并计算和?

你需要输出1+2+3+…+100这样的完整累加表达式,同时得到最终的求和结果。之前的代码错误在于输出逻辑混淆了累加结果和当前项的关系,导致表达式不符合预期。

方案1:只输出完整表达式与最终结果

这种方式直接打印出完整的累加式,再输出计算结果:

#include <stdio.h>

int main() {
    int sum = 0;
    // 构建并输出累加表达式
    for (int i = 1; i <= 100; i++) {
        sum += i;
        // 第一个数字前不加"+",后续数字前添加"+"
        if (i == 1) {
            printf("%d", i);
        } else {
            printf("+%d", i);
        }
    }
    // 输出等号和最终结果
    printf(" = %d\n", sum);
    return 0;
}

方案2:输出每一步的累加过程

如果需要看到每一步的累加变化(比如1=1、1+2=3、1+2+3=6…),可以用以下方式实现:

#include <stdio.h>

int main() {
    int sum = 0;
    // 逐行输出每一步的累加过程
    for (int i = 1; i <= 100; i++) {
        sum += i;
        // 打印当前步骤的累加表达式
        for (int j = 1; j <= i; j++) {
            if (j == 1) {
                printf("%d", j);
            } else {
                printf("+%d", j);
            }
        }
        printf(" = %d\n", sum);
    }
    
    // 单独打印最终完整表达式
    printf("\n最终表达式:");
    for (int i = 1; i <= 100; i++) {
        if (i == 1) {
            printf("%d", i);
        } else {
            printf("+%d", i);
        }
    }
    printf(" = %d\n", sum);
    return 0;
}

之前代码的问题说明

你之前的代码中,printf("Result = %d + %d\n", sum , i);的逻辑错误:sum已经是sum + i后的结果,这行代码会输出类似Result = 1 + 1、Result = 3 + 2的错误表达式,完全不符合累加式的格式,所以无法得到预期效果。

内容的提问来源于stack exchange,提问作者Darth Skywalker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:15:35