1198:逆波兰表达式
Posted tflsnoi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1198:逆波兰表达式相关的知识,希望对你有一定的参考价值。
题目连接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1198
一递归写法:(由逆波兰表达式的概念而写)---认真理解其概念
1 #include<cstdio> 2 #include<iostream> 3 #include<cstdlib> 4 double Calculation() //读入一个逆波兰表达式,并计算其值 (注意是读入并计算) 5 { 6 char a[10];//注意这个字符数组用于存放读入的表达式,表达式可能是一串数字,暂时把它作为字符串存放,当输入为运算符时,只会占用第一个字符。 7 scanf("%s",a); 8 switch (a[0]) 9 { 10 case ‘+‘: 11 return Calculation()+Calculation(); 12 case ‘-‘: 13 return Calculation()-Calculation(); 14 case ‘*‘: 15 return Calculation()*Calculation(); 16 case ‘/‘: 17 return Calculation()/Calculation(); 18 default: 19 return atof(a); 20 //atof(),是C++语言标准库中的一个字符串处理函数,功能是把字符串转换成浮点数, 21 //所使用的头文件为<stdlib.h>。该函数名是 “ascii to floating point numbers” 的缩写。语法格式为:double atof(const char *nptr)。 22 } 23 } 24 25 int main() 26 { 27 double ans; 28 ans =Calculation(); 29 printf("%f ",ans); 30 return 0; 31 }
二、用栈写
1 等讲栈时补充,此处略去10000字
以上是关于1198:逆波兰表达式的主要内容,如果未能解决你的问题,请参考以下文章
波兰表达式与逆波兰表达式介绍及中缀表达式转逆波兰表达式代码实现
2021-10-17:逆波兰表达式求值。根据 逆波兰表示法,求表达式的值。有效的算符包括 +-*/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰(代码