1 条题解

  • 0
    @ 2039-7-7 20:55:40

    【例23.3】 简单计算器

    解题思路

    根据运算符选择加减乘除。除法先检查分母是否为 0;不支持的符号输出 Invalid operator!。

    正确性说明

    每个合法符号对应一个确定运算,零除与非法符号分支单独处理,覆盖要求的正常与异常情况。

    易错点

    输入顺序是两个数、再运算符;除法为整数除法。

    复杂度

    输入规模固定,时间 O(1),额外空间 O(1)。

    参考代码(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        long long a, b;
        char op;
        cin >> a >> b >> op;
        if (op == '+')
            cout << a + b;
        else if (op == '-')
            cout << a - b;
        else if (op == '*')
            cout << a * b;
        else if (op == '/') {
            if (b == 0)
                cout << "Divided by zero!";
            else
                cout << a / b;
        } else
            cout << "Invalid operator!";
        cout << "\n";
        return 0;
    }
    
    • 1

    信息

    ID
    159
    时间
    1000ms
    内存
    128MiB
    难度
    进阶
    标签
    递交数
    0
    已通过
    0
    上传者