波兰表达式:运算符前置表达式,例如“+ 45.3 900.1”
#include<iostream>
#include<cstdlib>
using namespace std;
double fun()
{
char s[20];
cin>>s;
switch(s[0])
{
case '+':return fun()+fun();//如果第一个字符是运算符
//则调用fun()为求得它后面那个波兰表达式,再调用一次fun()为求得第二个波兰表达式的值
case '-':return fun()-fun();
case '*':return fun()*fun();
case '/':return fun()/fun();
default:return atof(s);//如果是数字的话。atof(s);将字符串s转换为double型 S
}
}
int main()
{
double a=fun();
cout<<a;
return 0;
}