用户:
SCS_user_EHQ0z2l6el查看:0 回复:0 评论:0 创建时间:2023-04-02T18:33:03
//后缀表达式求值
#include<iostream>
#include<cstdio>
#include<stack>
using namespace std;
stack <double> s;//栈
double popfront(){
double a=s.top();
s.pop();
return a;
}
int main(){
string x;
while(cin>>x){
if('0'<=x[0]&&x[0]<='9'){
int num=stod(x);
s.push(num);
continue;
}
double a=popfront();
double b=popfront();
if(x[0]=='+'){
s.push(b+a);
}
if(x[0]=='-'){
s.push(b-a);
}
if(x[0]=='*'){
s.push(b*a);
}
if(x[0]=='/'){
s.push(b/a);
}
}
printf("%.1f",popfront());
return 0;
}