表达式求值
Description
一个最简单的计算器包含+,-,*,/四种运算。考虑下面两种情况
(1) 如果出现除数为0的情况,输出: Divided by zero!
(2) 如果出现无效的操作符,则输出: Invalid operator!
(1) 如果出现除数为0的情况,输出: Divided by zero!
(2) 如果出现无效的操作符,则输出: Invalid operator!
Input
输入只有一行: 两个参加运算的数和一个操作符 (+、一、*、/)
Output
输出表达式的结果,结果保留后两位。
Sample Input
34 56 +
Sample Output
90.0
python解法
# 读取输入
input_str = input()
# 分割输入字符串
parts = input_str.split()
# 转换数字
num1 = float(parts[0])
num2 = float(parts[1])
# 获取运算符
operator = parts[2]
# 根据运算符执行计算
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
if num2 == 0:
result = "Divided by zero!"
else:
result = round(num1 / num2, 2)
else:
result = "Invalid operator!"
print(result)
c++解法
#include<bits/stdc++.h> // 包含常用的 C++ 标准库头文件
using namespace std;
int main() {
string input_str;
getline(cin, input_str);
istringstream iss(input_str);
double num1, num2;
char op;
iss >> num1 >> num2 >> op;
double result;
switch(op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 == 0) {
cout << "Divided by zero!" << endl;
return 1;
} else {
result = num1 / num2;
}
break;
default:
cout << "Invalid operator!" << endl;
return 1;
}
cout << result << endl;
return 0;
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
作者:小鱼
链接:https://www.52stu.com/?p=138
文章版权归作者所有,未经允许请勿转载。
链接:https://www.52stu.com/?p=138
文章版权归作者所有,未经允许请勿转载。
THE END