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

实现5个自然数求和并显示正确等式的C#程序故障求助

问题修正:计算5个自然数累加并显示正确等式

你的需求是计算5个自然数的累加和,同时输出每一步的累加等式(例如0+1=1、1+2=3这类格式),但现有代码的逻辑错误导致等式显示不符合预期。

现有代码的问题

当前代码中,你先更新了sum的值,再用更新后的sum构建等式,这就搞混了等式里的加数逻辑:

int n = 1, sum = 0;
while (n <= 5)
{
    sum = n + sum; // 先更新sum
    Console.WriteLine(""+n+" + "+sum+" = "+sum); // 用新sum当加数,逻辑错误
    n++;
}

比如第一次循环,sum从0变成1后,你输出1 + 1 = 1,这显然不符合累加的逻辑——正确的等式应该是之前的累加值 + 当前自然数 = 新的累加值。

修正后的代码

要实现正确的等式显示,需要在更新sum前先记录下它的旧值,用旧值和当前n构建等式:

int n = 1, sum = 0;
while (n <= 5)
{
    int prevSum = sum; // 保存更新前的累加值
    sum = prevSum + n;
    Console.WriteLine($"{prevSum} + {n} = {sum}");
    n++;
}

运行结果

这段代码会输出:

0 + 1 = 1
1 + 2 = 3
3 + 3 = 6
6 + 4 = 10
10 + 5 = 15

完美匹配你需要的累加等式逻辑,每一步都清晰展示了当前自然数与之前累加和的相加过程,最终得到5个自然数的总和15。

如果你的需求是计算从0开始的5个自然数(0、1、2、3、4),只需调整初始值和循环条件:

int n = 0, sum = 0;
while (n < 5)
{
    int prevSum = sum;
    sum = prevSum + n;
    Console.WriteLine($"{prevSum} + {n} = {sum}");
    n++;
}

输出为:

0 + 0 = 0
0 + 1 = 1
1 + 2 = 3
3 + 3 = 6
6 + 4 = 10

内容的提问来源于stack exchange,提问作者Arjun the Rage Guy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:53:14