Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<string>#include<stack>using namespace std;int main(){string s;cin>>s;stack<char> op;stack<int> num;int i=0,res=0;for(i=0;i<=s.size();){if(i==s.size()||s[i]==')'){res=num.top();num.pop();while(!num.empty()&&!op.empty()&&op.top()!='('){if(op.top()=='+') res+=num.top();//else if(op.top()=='-') res=num.top()-res;//else if(op.top()=='*') res*=num.top();//else res=num.top()/res;num.pop();op.pop();}if(!op.empty())op.pop();while(!op.empty()&&(op.top()=='*'||op.top()=='/')){int a=num.top();num.pop();if(op.top()=='*')res=a*res;else res=a/res;op.pop();}