题解
自定义的计算器
1 条题解
-
0
P4291 自定义的计算器(【入门】)
解题思路
这个计算器要支持五种运算:加
+、减-、乘*、整除/、取余%。输入是一个数字、一个运算符、一个数字,中间用空格分开,比如5 % 2。我们先把第一个数存进变量
x,运算符存进字符op,第二个数存进变量y,再用if...else if一条一条判断op是哪一个:- 是
+就输出 ; - 是
-就输出 ; - 是
*就输出 ; - 是
/就输出 (整除,只留整数部分); - 剩下的一定是
%,输出 除以 的余数。
拿样例
5 % 2来说, 除以 商 余 ,所以输出1。需要注意:输入顺序是"数字 运算符 数字",所以要用
cin >> x >> op >> y,顺序不能弄反。整除/和取余%都要求除数不为 0,题目保证 ,所以不用特殊处理除数为 0 的情况。参考代码
// 简易计算器:支持 + - * / % 五种运算 #include <iostream> using namespace std; int main() { int x, y; char op; cin >> x >> op >> y; // 输入顺序:数字 运算符 数字 if (op == '+') cout << x + y << endl; else if (op == '-') cout << x - y << endl; else if (op == '*') cout << x * y << endl; else if (op == '/') cout << x / y << endl; else cout << x % y << endl; // 剩下就是取余运算 return 0; }复杂度分析
最多只会做一次运算、判断 5 次就结束,和数字大小无关,所以时间复杂度是 。只用了三个变量,额外空间复杂度也是 。
- 是
- 1