-
B [2133] - 数据结构实验之栈与队列三:后缀式求值
- 后缀表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)
-
#include<bits/stdc++.h> using namespace std; string str; int a,b,c,sum; int main() { cin>>str; stack<int>stk; sum=str.size()-1; for(int i=0; i<sum; i++) { if(str[i]<='9'&&str[i]>='0') stk.push(str[i]-'0'); else { a=stk.top(); stk.pop(); b=stk.top(); stk.pop(); if(str[i]=='+') c=a+b; else if(str[i]=='-') c=b-a; else if(str[i]=='*') c=a*b; else c=b/a; stk.push(c); } } cout<<stk.top()<<endl; return 0; }
后缀式求值
最新推荐文章于 2024-03-19 16:10:58 发布