/* *问题:输入一行逆波兰表达式,程序运行后输出表达式结果 *定义:逆波兰表达式: 1.一个数是一个逆波兰表达式值为该数 2."运算符 逆波兰表达式 逆波兰表达式" 是逆波兰表达式,值为两个逆波兰表达式的值运算的结果 */#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;double exp(){//读入一个逆波兰表达式,并计算其值 char s[30];//表达式长度小于20位 cin >> s; switch(s[0]) { case '+': return exp()+exp(); case '-': return exp()-exp(); case '*': return exp()*exp(); case '/': return exp()/exp(); default: return atof(s); break; }}int main(){ PRintf("%lf",exp()); return 0;}运行结果:
新闻热点
疑难解答