一级
C++ 算法考级专栏
真题分析、矩阵探测、递归回溯与基础语法
🎨 视觉封面【GESP】C++一级练习 luogu-B2052, 简单计算器
📅 2024-11-21·✍️ OneCoder·计算中...·⏱️ 4 分钟
#GESP#C++#基础语句
一级知识点条件判断练习,涉及多种条件的判断,难度不大。
luogu-B2052
题目要求
题目描述
一个最简单的计算器,支持
+,-,*,/四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。然而:
- 如果出现除数为 的情况,则输出:
Divided by zero!。- 如果出现无效的操作符(即不为
+,-,*,/之一),则输出:Invalid operator!。- 除号表示整除,结果向 0 取整。
输入格式
输入只有一行,共有三个参数,其中第 个参数为整数,第 个参数为操作符
(+,-,*,/)。
输出格式
输出只有一行,一个整数,为运算结果。然而:
- 如果出现除数为 的情况,则输出:
Divided by zero!。- 如果出现无效的操作符(即不为
+,-,*,/之一),则输出:Invalid operator!。
样例输入 #1
CONSOLE
1 行
1 2 +
样例输出 #1
CONSOLE
1 行
3
样例输入 #2
CONSOLE
1 行
2 4 *
样例输出 #2
CONSOLE
1 行
8
样例输入 #3
CONSOLE
1 行
5 0 /
样例输出 #3
CONSOLE
1 行
Divided by zero!
题目分析
这是一道简单的四则运算题,需要根据输入的两个整数和一个操作符进行相应的运算。我们可以使用条件判断语句来判断操作符的类型,然后执行相应的运算。在执行除法运算时,需要注意除数是否为0的情况。
示例代码
C++
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,表示程序执行成功
}
💡 OneCoder 资源指引
所有代码开源上传至 GitHub:yummy-code 仓库 · GESP 专题站:GESP WIKI
🤝 技术交流与答疑
欢迎加入:C++ GESP/CSP 考级答疑群(688906745) 与 Java/Python交流群(982860385),点击可直接加群。
📚
猜你想读 · 相关文章推荐
OneCoder (lihongzheshuai)
一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com
读者讨论与留言
💬 还没有读者留言,快来成为第一个讨论者吧!