2020年团体程序设计天梯赛 L2-1 简单计算器
思路:
水题,略过
Tip:
无
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
stack<int> s1;
stack<char> s2;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
int tmp;
cin >> tmp;
s1.push(tmp);
}
for (int i = 1; i <= n - 1; i++) {
char tmp;
cin >> tmp;
s2.push(tmp);
}
while (!s2.empty()) {
int n1 = s1.top();
s1.pop();
int n2 = s1.top();
s1.pop();
char s = s2.top();
s2.pop();
int n3;
if (s == '+') {
n3 = n2 + n1;
} else if (s == '-') {
n3 = n2 - n1;
} else if (s == '*') {
n3 = n2 * n1;
} else if (s == '/') {
if (n1 == 0) {
cout << "ERROR: " << n2 << "/" << n1 << endl;
return 0;
}
n3 = n2 / n1;
}
s1.push(n3);
}
cout << s1.top() << endl;
return 0;
}

浙公网安备 33010602011771号