题解 | #加减乘除#

加减乘除

https://www.nowcoder.com/practice/fdc56f9b00b34c70ad36c61ef89e3fc3

#include<bits/stdc++.h>
using namespace std;

//求阶乘函数
int jiecheng(int n) {
    if (n == 0 || n == 1) {
        return 1;
    } else {
        return n * jiecheng(n - 1);
    }
}
//完成其他运算的函数
void calculate(int num1, char op, int num2) {
    switch (op) {
        //加法运算
        case '+':
            cout << num1 + num2 << endl;
            break;
        //减法运算
        case '-':
            cout << num1 - num2 << endl;
            break;
        //乘法运算
        case '*':
            cout << num1* num2 << endl;
            break;
        //除法运算
        case '/': {
                if (num2 == 0) { //若除数为零则输出error
                    cout << "error" << endl;
                } else {
                    cout << num1 / num2 << endl;
                }
                break;
            }
        //求余运算
        case '%': {
                if (num2 == 0) { //若第二个运算数为零则输出error
                    cout << "error" << endl;
                } else {
                    cout << num1 % num2 << endl;
                }
                break;
            }
        default:
            break;
    }
}
int main() {
    int num1, num2; //两个参与运算的整数
    char op;//运算符
    while (cin >> num1 >> op) {
        //如果当前运算符不是求阶乘,则输入两个参与运算的数以及运算符
        if (op != '!') {
            cin >> num2;
            calculate(num1, op, num2);
        }
        //如果是求阶乘,则无需输入第二个整数
        else {
            cout << jiecheng(num1) << endl;
        }
    }
}

全部评论

相关推荐

2025-12-04 14:15
杭州电子科技大学 C++
点赞 评论 收藏
分享
2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务