表达式求值

Description

一个最简单的计算器包含+,-,*,/四种运算。考虑下面两种情况
(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;
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
THE END