首页 > 学院 > 开发设计 > 正文

逆波兰表达式

2019-11-06 06:08:23
字体:
来源:转载
供稿:网友

逆波兰表达式

逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表达式为 + 2 3 逆波兰表达式的优点是运算符不必有优先级关系,也不必用括号改变运算次序, 例如(2+3)4 3的逆波兰表达式为 + 2 3 4 本题中求逆波兰表达式的值,其中运算符包括 + - * /四个

输入

输入一行,其中运算符和运算数之间用空格隔开

输出

输出为一行表达式的值

逆波兰表达式的定义: 1.一个数就是一个逆波兰表达式,这个数就是逆波兰表达式本身 //相当于一个终止条件 2.“运算符 逆波兰表达式 逆波兰表达式” 是逆波兰表达式,值为两个逆波兰表达式运算出的结果 // 逆波兰表达式本身就是一个递归

#include <iostream>#include <cmath>#include <cstdio>#include <cstdlib>using namespace std;double Exp(){ char s[100]; 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("%.2f", Exp()); return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表