直接用栈模拟即可,注意题干:为 n2 op n1
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> num;
stack<char> op;
int n;
cin>>n;
for(int i=0;i<n;i++){
int x;
cin>>x;
num.push(x);
}
for(int i=0;i<n-1;i++){
char o;
cin>>o;
op.push(o);
}
while(num.size()>1){
int a = num.top();
num.pop();
int b = num.top();
num.pop();
char c = op.top();
op.pop();
if(c == '+'){
num.push(b + a);
}else if(c == '-'){
num.push(b - a);
}else if(c == '*'){
num.push(b * a);
}else{
if(a == 0){
cout<<"ERROR: "<<b<<"/0"<<endl;
return 0;
}else{
num.push(b / a);
}
}
}
int res = num.top();
cout<<res<<endl;
}