小韦老师@神犇营-my0089-五则计算器
作者:互联网
小韦老师@神犇营-my0089-五则计算器
题目:
描述
一个最简单的计算器,支持 +, -, *, / , % 五种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过 int
表示的范围。
注意:
-
如果出现除数为 0 的情况,则输出:Error
-
如果出现无效的操作符(即不为 +, -, *, /, % 之一),则输出:Invalid operator
输入
输入只有一行,共有三个参数,其中第 1 个参数为整数,第 2 个参数为操作符(+, -, *, /, %),第 3 个参数为整数。
输出
输出只有一行,一个整数,为运算结果。
输入样例1
1 % 2
输出样例1
1
题解:
思路:
整体思路:
根据输入的操作符,对两个整数做操作符对应的运算。
具体步骤:
1.定义两个 int 型的变量,和一个 char 型的变量,用来存储两个运算的数
和操作符;并将这 3 个变量输入。
int a, b; // 运算的整数
char op; // 操作符,+ - * / % 均是字符
cin >> a >> op >> b; // 注意输入的顺序
2.用 switch 语句来完成判断,switch 后的表达式是存储操作符的变量,
对应的操作符要做对应的计算。
注意这里的除法的情况,要对除数为 0 的情况做特殊处理。
另外,若为其他符号,也要做处理。
每一个分支要有 break。
switch (op) { // switch 语句的常量表达式可以是字符型
case '+': // 若 op == '+',则输出 a + b 的值
cout << a + b;
break; // 记得要 break
case '-': // 若 op == '-',则输出 a - b 的值
cout << a - b;
break; // 记得要 break
case '*': // 若 op == '*',则输出 a + b 的值
cout << a * b;
break; // 记得要 break
case '/': // 若 op == '/',则要先判断除数是否为 0
// 若除数为 0,则输出 Error,否则输出 a / b 的值
if (b == 0) cout << "Error";
else cout << a / b;
break; // 记得要 break
case '%': // 若 op == '%',则输出 a % b 的值
cout << a % b;
break; // 记得要 break
default: // 若是其他符号,则输出 Invalid operator
cout << "Invalid operator";
}
完整代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b; // 运算的整数
char op; // 操作符,+ - * / % 均是字符
cin >> a >> op >> b; // 注意输入的顺序
switch (op) { // switch 语句的常量表达式可以是字符型
case '+': // 若 op == '+',则输出 a + b 的值
cout << a + b;
break; // 记得要 break
case '-': // 若 op == '-',则输出 a - b 的值
cout << a - b;
break; // 记得要 break
case '*': // 若 op == '*',则输出 a + b 的值
cout << a * b;
break; // 记得要 break
case '/': // 若 op == '/',则要先判断除数是否为 0
// 若除数为 0,则输出 Error,否则输出 a / b 的值
if (b == 0) cout << "Error";
else cout << a / b;
break; // 记得要 break
case '%': // 若 op == '%',则输出 a % b 的值
cout << a % b;
break; // 记得要 break
default: // 若是其他符号,则输出 Invalid operator
cout << "Invalid operator";
}
return 0;
}
标签:运算,int,小韦,整数,switch,操作符,my0089,神犇,op 来源: https://blog.csdn.net/qq_31790997/article/details/95628979