首页 > 代码库 > 逆波兰表达式
逆波兰表达式
* 8 5 == 8 * 5
+ 9 9 == 9 + 9
逆波兰表达式的定义
1.一个数是逆波兰表达式,值为该数。
2.”运算符 逆波兰表达式 逆波兰表达式“ 是逆波兰表示式 值是两个逆波兰表达式运算的结果。
逆波兰表示式是一种把运算符放在前面的表达式
要求你用编写一个程序来计算逆波兰表达式
显然 逆波兰表示式的定义就是使用递归定义的,所以我们用递归实现逆波兰表达式的计算。
1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 using namespace std; 5 6 double exp() 7 { 8 char s[20];//读入一个数 用字符数组储存 9 cin >> s; 10 switch(s[0]) 11 { 12 case ‘+‘: return exp() + exp(); 13 case ‘-‘: return exp() - exp(); 14 case ‘*‘: return exp() * exp(); 15 case ‘/‘: return exp() / exp(); 16 default: return atof(s);//将字符数组转变为double型数据并返回double数据 17 break; 18 } 19 } 20 21 int main() 22 { 23 printf("%f\n",exp()); 24 return 0; 25 }
atof 是C++的一个库函数 功能是把一个字符数组中储存的浮点数转化为double型。
逆波兰表达式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。