mirror of
https://git.sb/baoshuo/OI-codes.git
synced 2024-11-30 17:36:27 +00:00
P1449 后缀表达式
R41950224
This commit is contained in:
parent
91e8a1f751
commit
199b564d3a
37
problem/P1449/P1449.cpp
Normal file
37
problem/P1449/P1449.cpp
Normal file
@ -0,0 +1,37 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main() {
|
||||
stack<int> st;
|
||||
char ch;
|
||||
int a, b, t = 0;
|
||||
while (cin >> ch, ch != '@') {
|
||||
if (ch == '.') {
|
||||
st.push(t);
|
||||
t = 0;
|
||||
}
|
||||
else if('0' <= ch && ch <= '9') {
|
||||
t *= 10;
|
||||
t += ch - '0';
|
||||
}
|
||||
else {
|
||||
b = st.top(); st.pop();
|
||||
a = st.top(); st.pop();
|
||||
if (ch == '+') {
|
||||
st.push(a + b);
|
||||
}
|
||||
else if (ch == '-') {
|
||||
st.push(a - b);
|
||||
}
|
||||
else if (ch == '*') {
|
||||
st.push(a * b);
|
||||
}
|
||||
else if (ch == '/') {
|
||||
st.push(a / b);
|
||||
}
|
||||
}
|
||||
}
|
||||
cout << st.top() << endl;
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user