【栈的应用】后缀表达式求值

    科技2022-08-15  102

    #include<iostream> #include<stack> #include<math.h> #include<string> using namespace std; stack<int> num; stack<char> ops; string s; void cal(char c) { int a=num.top(); num.pop(); int b=num.top(); num.pop(); int d; if(c=='+') d=a+b; else if(c=='-') d=b-a; else if(c=='*') d=b*a; else if(c=='/') d=b/a; else d=pow(b,a); num.push(d); } int main(){ cin>>s; for(int i=0;i<s.size();i++){ if(s[i]>='0'&&s[i]<='9'){ num.push(s[i]-'0'); } else { cal(s[i]); } } cout<<num.top()<<endl; return 0; }
    Processed: 0.010, SQL: 8