题解 | #加减乘除#
加减乘除
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;
}
}
}
