【GESP】C++一级练习 luogu-B2052, 简单计算器
一级知识点条件判断练习,涉及多种条件的判断,难度不大。
luogu-B2052
题目要求
题目描述
一个最简单的计算器,支持
+,-,*,/
四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int
表示的范围。然而:
如果出现除数为 $0$ 的情况,则输出:
Divided by zero!
。如果出现无效的操作符(即不为
+,-,*,/
之一),则输出:Invalid operator!
。除号表示整除,结果向 0 取整。
输入格式
输入只有一行,共有三个参数,其中第 $1,2$ 个参数为整数,第 $3$ 个参数为操作符
(+,-,*,/)
。
输出格式
输出只有一行,一个整数,为运算结果。然而:
如果出现除数为 $0$ 的情况,则输出:
Divided by zero!
。如果出现无效的操作符(即不为
+,-,*,/
之一),则输出:Invalid operator!
。
样例输入 #1
1
1 2 +
样例输出 #1
1
3
样例输入 #2
1
2 4 *
样例输出 #2
1
8
样例输入 #3
1
5 0 /
样例输出 #3
1
Divided by zero!
题目分析
这是一道简单的四则运算题,需要根据输入的两个整数和一个操作符进行相应的运算。我们可以使用条件判断语句来判断操作符的类型,然后执行相应的运算。在执行除法运算时,需要注意除数是否为0的情况。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
int main() {
int a, b; // 定义两个整数变量a和b
char c; // 定义一个字符变量c,用于存储操作符
cin >> a >> b >> c; // 从输入流中读取a, b, c的值
// 检查除数是否为0,并且操作符是否为除号
if ((b == 0 && c == '/')) {
cout << "Divided by zero!";
}
// 检查操作符是否为加号,并且除数是否不为0
if (c == '+' && b != 0) {
cout << a + b; // 执行加法操作
}
// 检查操作符是否为减号,并且除数是否不为0
if (c == '-' && b != 0) {
cout << a - b; // 执行减法操作
}
// 检查操作符是否为乘号,并且除数是否不为0
if (c == '*' && b != 0) {
cout << a * b; // 执行乘法操作
}
// 检查操作符是否为除号,并且除数是否不为0
if (c == '/' && b != 0) {
cout << a / b; // 执行除法操作
}
// 检查操作符是否为无效的操作符
if (((c != '+' && c != '-') && c != '*') && c != '/') {
cout << "Invalid operator!"; // 输出无效操作符的提示
}
return 0; // 返回0,表示程序执行成功
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权