习题2.1 简单计算器 (20point(s))
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
Example:
#include <iostream>
using namespace std;
int main()
{
int ans;
cin >> ans;
char op;
cin >> op;
while(op != '=') {
int num;
cin >> num;
switch (op){
case '+': ans += num; break;
case '-': ans -= num; break;
case '*': ans *= num; break;
case '/':
if(num == 0) {
cout << "ERROR" << endl;
return 0;
}
ans /= num;
break;
default:
cout << "ERROR" << endl;
return 0;
}
cin >> op;
}
cout << ans << endl;
return 0;
}
思路:
利用 ans 保存上次运算的结果,再跟新的运算符跟操作数,进行运算。