C#编程任务:无需if语句实现两数的大于、等于、小于比较
用三元运算符解决无if的大小判断问题
嘿,这个问题刚好踩中了C#里三元运算符的适用场景——既然还没学if语句,**三元运算符(? :)**绝对是你的最优解,完全符合当前的知识阶段!
完整三分支判断(大于/等于/小于)
要实现完整的三种关系判断,我们可以用嵌套的三元运算符来搞定,代码示例如下:
// 读取输入的两个数字 Console.WriteLine("请输入第一个数字:"); double num1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("请输入第二个数字:"); double num2 = Convert.ToDouble(Console.ReadLine()); // 用嵌套三元判断大小关系 string comparisonResult = num1 > num2 ? "大于" : (num1 < num2 ? "小于" : "等于"); // 输出结果 Console.WriteLine($"第一个数字{comparisonResult}第二个数字");
这个逻辑的思路很清晰:
- 先判断
num1 > num2,如果成立直接返回“大于” - 不成立的话,再进入内层三元判断
num1 < num2,成立就返回“小于” - 剩下的唯一情况就是两数相等,返回“等于”
简化版判断(比如仅区分大于/小于等于)
你说的“仅需判断大于、小于或小于等于会更简单”确实没错——如果需求不需要精确区分“小于”和“等于”,只需要一层三元就够了,比如判断num1是大于num2,还是小于等于num2:
string result = num1 > num2 ? "大于" : "小于等于"; Console.WriteLine($"第一个数字{result}第二个数字");
同理,如果是区分“小于”和“大于等于”,写法也类似,完全不需要嵌套,代码更简洁。
小提醒
虽然三元运算符可以嵌套,但如果逻辑超过三分支的话,可读性会直线下降。不过对于你现在的这个需求,嵌套一次完全没问题,既满足了不用if的要求,又能完成任务~
内容的提问来源于stack exchange,提问作者P. Pur
相关产品推荐
相关产品推荐

