#include<bits/stdc++.h>
using namespace std;
int main(){
stack<double>num;
stack<char>op;
double n;
char ch;
while(scanf("%lf",&n)&&n!=0){
num.push(n);
while(1){
ch=getchar();
if(ch=='\n'){
while(!op.empty()){
double a,b;
a=num.top();
num.pop();
b=num.top();
num.pop();
if(op.top()=='*'){
b*=a;
num.push(b);
}
if(op.top()=='/'){
b/=a;
num.push(b);
}
if(op.top()=='+'){
b+=a;
num.push(b);
}
if(op.top()=='-'){
b-=a;
num.push(b);
}
op.pop();
}
printf("%.2lf\n",num.top());
num.pop();
break;
}
else{
ch=getchar();
scanf("%lf",&n);
if(ch=='*'||ch=='/')op.push(ch);
else{
while(!op.empty()){
double a,b;
a=num.top();
num.pop();
b=num.top();
num.pop();
if(op.top()=='*'){
b*=a;
num.push(b);
}
if(op.top()=='/'){
b/=a;
num.push(b);
}
if(op.top()=='+'){
b+=a;
num.push(b);
}
if(op.top()=='-'){
b-=a;
num.push(b);
}
op.pop();
}
op.push(ch);
}
num.push(n);
}
}
}
return 0;
}
蒟蒻用G++交WA了,看不出哪里错了,调了一个多小时也没调出来。 望大佬们帮孩子看一眼。