编程题 7-12 两个数的简单计算器【PAT】
文章目录
- 题目
- 输入格式
- 输出格式
- 输入样例1
- 输出样例1
- 输入样例2
- 输出样例2
- 题解
- 解题思路
- 完整代码
编程练习题目集目录
题目
要求编写一个简单计算器程序,可根据输入的运算符,对 2 2 2 个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。
输入格式
输入在一行中依次输入操作数 1 1 1、运算符、操作数 2 2 2,其间以 1 1 1 个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。
输出格式
当运算符为 + 、 − 、 ∗ 、 / 、 +、-、*、/、% +、−、∗、/、 时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出 E R R O R ERROR ERROR。
输入样例1
-7 / 2
输出样例1
-3
输入样例2
3 & 6
输出样例2
ERROR
题解
解题思路
首先输入操作数 1 1 1、运算符、操作数 2 2 2,然后根据输入的字符(计算符号)判断,要进行何种运算,使用 s w i t c h switch switch 循环配合 b r e a k break break 语句,将对应的输入计算出来,输出即可。
注:非法符号、被除数为 0 0 0,被取余数为 0 0 0 皆为 E R R O R ERROR ERROR。
完整代码
#include<iostream>
using namespace std;int main(void)
{int x, y;char c;cout << "请输入 操作数1、运算符、操作数2:"; // 提交时注释此行cin >> x >> c >> y;switch (c){case '+': cout << x + y << endl; // 加法计算break;case '-': cout << x - y << endl; // 减法计算break;case '*': cout << x * y << endl; // 乘法计算break;case '/': // 除法计算if (x != 0){cout << x / y << endl;break;}else // 被除数为 0,报错{cout << "ERROR" << endl;break;}case '%': // 取余计算if (x != 0){cout << x % y << endl;break;}else // 被取余数为 0,报错{cout << "ERROR" << endl;break;}default: cout << "ERROR" << endl; // 其它符号,报错break;}return 0;
}