OneCoder Avatar
OneCodercoderli.com · 962 篇博文
一级

C++ 算法考级专栏

真题分析、矩阵探测、递归回溯与基础语法

🎨 视觉封面

【GESP】C++一级练习 luogu-B2052, 简单计算器

📅 2024-11-21·✍️ OneCoder·计算中...·⏱️ 4 分钟
#GESP#C++#基础语句

一级知识点条件判断练习,涉及多种条件的判断,难度不大。

luogu-B2052

题目要求

题目描述

一个最简单的计算器,支持 +,-,*,/ 四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过 int 表示的范围。然而:

  1. 如果出现除数为 00 的情况,则输出:Divided by zero!
  2. 如果出现无效的操作符(即不为 +,-,*,/ 之一),则输出:Invalid operator!
  3. 除号表示整除,结果向 0 取整。

输入格式

输入只有一行,共有三个参数,其中第 1,21,2 个参数为整数,第 33 个参数为操作符(+,-,*,/)

输出格式

输出只有一行,一个整数,为运算结果。然而:

  1. 如果出现除数为 00 的情况,则输出:Divided by zero!
  2. 如果出现无效的操作符(即不为 +,-,*,/ 之一),则输出: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

OneCoder (lihongzheshuai)

一个中年人的自留地,记录学习 C++、GESP/NOI、Java、Python 与算法架构的心得体会。本站唯一网址:coderli.com

读者讨论与留言

0 条讨论
✨ 支持点击留言直接回复 · Markdown 引用格式
💬 还没有读者留言,快来成为第一个讨论者吧!