本题第一个题解
2024-06-19 00:01:56
发布于:广东
94阅读
0回复
0点赞
抢个沙发 发个题解
#include <bits/stdc++.h>
using namespace std;
int main(){
stack <int> st;
string s;
cin >> s;
int sum = 0;
for(int i = 0;i < s.size() - 1;++i){
if(s[i] == '+'){
int a,b;
a = st.top();
st.pop();
b = st.top();
st.pop();
st.push(b + a);
}else if(s[i] == '-'){
int a,b;
a = st.top();
st.pop();
b = st.top();
st.pop();
st.push(b - a);
}else if(s[i] == '*'){
int a,b;
a = st.top();
st.pop();
b = st.top();
st.pop();
st.push(b * a);
}else if(s[i] == '/'){
int a,b;
a = st.top();
st.pop();
b = st.top();
st.pop();
st.push(floor(b / a));
}else if(s[i] <= '9' && s[i] >= '0'){
sum = sum * 10 + (s[i] - '0');
}else{
st.push(sum);
sum = 0;
}
}
cout << st.top();
return 0;
}
绝对简单,绝对符合题目的栈
这里空空如也
有帮助,赞一个