C#循环计算可整除数列和时仅输出最终总和的方法
实现数列求和仅输出最终结果的修改方案
问题原因
你当前的代码把输出语句Console.WriteLine()写在了for循环的代码块内部,每完成一次循环迭代就会执行一次打印,因此会输出每一步的中间计算值。
修改方法
- 移除循环内部的所有打印语句,避免迭代过程中输出中间结果
- 建议单独声明变量存储累加总和,不要直接修改存储用户输入值的变量,减少逻辑出错的概率
- 等整个for循环全部执行完成后,在循环外部调用一次
Console.WriteLine(),仅打印最终计算得到的总和即可
修正后的完整代码
int a = Convert.ToInt32(Console.ReadLine()); int b = Convert.ToInt32(Console.ReadLine()); int c = a / b; int b2 = b; int sum = 0; for(int i = 1; i <= c; i++) { sum += b2 * i; } // 循环执行完毕后仅输出一次最终结果 Console.WriteLine(sum);
注:原代码中i从0开始迭代时,
b2 * 0计算结果为0,不会对总和产生影响,但从1开始迭代更符合累加正整数的逻辑,减少无意义的循环次数。
内容的提问来源于stack exchange,提问作者Mark Shrimp
相关产品推荐
相关产品推荐

