C#新手编程求助:如何实现控制台输入数字仅累加偶数的功能
C# 控制台偶数累加问题解决方法
偶数判断逻辑
偶数的数学定义是可被2整除且没有余数的整数,对应C#代码实现非常简单:使用取模运算符%计算目标整数除以2的余数,余数等于0即为偶数,判断语句格式为if (数字变量 % 2 == 0)。该写法也兼容负偶数判断,比如-2 % 2的结果同样为0,会被正常判定为偶数。
你现有代码的问题
- 判断对象错误:你当前写的
if (sum%2 == 0)是判断已累加总和的奇偶性,不符合需求,你需要判断的是每次新输入的单个数字的奇偶性 - 执行顺序颠倒:你当前的逻辑是先做奇偶判断、再读取输入的数字、最后直接把所有数字加进总和,完全不符合仅累加偶数的需求
修正后的完整代码
using System; namespace Test_3 { class Program { static void Main(string[] args) { Console.WriteLine("Amount of numbers n = "); var n = int.Parse(Console.ReadLine()); Console.WriteLine("Enter numbers:"); var sum = 0; for (int i = 0; i < n; i++) { // 第一步:先读取用户输入的单个数字 var num = int.Parse(Console.ReadLine()); // 第二步:判断当前输入的数字是否为偶数 if (num % 2 == 0) { // 第三步:仅偶数才累加到总和中 sum += num; } // 奇数直接跳过,不做累加操作 } Console.WriteLine("The sum of the even numbers is " + sum); } } }
内容的提问来源于stack exchange,提问作者Dari Popov
相关产品推荐
相关产品推荐

