标签:clu turn 表示 运算符 code 功能 iostream atof using
* 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型。
标签:clu turn 表示 运算符 code 功能 iostream atof using
原文地址:http://www.cnblogs.com/16-CHQ/p/6663602.html