小韦老师@神犇营-my0089-五则计算器

小韦老师@神犇营-my0089-五则计算器

题目:

描述

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

注意:

  1. 如果出现除数为 0 的情况,则输出:Error

  2. 如果出现无效的操作符(即不为 +, -, *, /, % 之一),则输出: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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值