实现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
相关产品推荐
相关产品推荐

