C#如何使用用户输入的+、-、*、/运算符完成两数四则计算
C# 控制台四则运算逻辑实现
你可以通过switch分支匹配用户输入的运算符,分别执行对应计算即可,需要额外处理除法的异常场景和精度问题。
补充后的完整可运行代码
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.Write("Enter your first number: "); int num1 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("would you like to Subtract(-), add(+), multiply(*) or divide(/), you must enter a symbole or it will not work"); string symbol = Console.ReadLine(); Console.Write("Enter your second number: "); int num2 = Convert.ToInt32(Console.ReadLine()); // 以下为补充的运算逻辑 double result = 0; // 去除运算符前后空格,避免用户误输入空格导致匹配失败 symbol = symbol.Trim(); switch (symbol) { case "+": result = num1 + num2; break; case "-": result = num1 - num2; break; case "*": result = num1 * num2; break; case "/": if (num2 == 0) { Console.WriteLine("错误:除数不能为0"); return; } // 强转为double执行除法,避免整数除法自动舍弃小数位 result = (double)num1 / num2; break; default: Console.WriteLine("错误:请输入合法的四则运算符(+、-、*、/)"); return; } // 输出最终计算结果 Console.WriteLine($"计算结果:{num1} {symbol} {num2} = {result}"); } } }
关键逻辑说明
- 对用户输入的运算符执行
Trim()处理,避免用户误输入空格导致运算符匹配失败 - 计算结果用
double类型存储,除法计算前先把整数强转为double,避免整数除法自动舍弃小数位的问题 - 除法分支优先判断除数是否为0,避免触发除零运行时异常
- 新增
default分支处理用户输入非法运算符的场景,给出明确提示
内容的提问来源于stack exchange,提问作者MH724
相关产品推荐
相关产品推荐

