栈的运用(6)

问题描述 

   对以逆波兰式的表达式求值。

问题分析 

 上一题是把中缀表达式编程逆波兰式,要对逆波兰的表达式的求解就更简单些了。

代码  

View Code

总结   

  这道题开始想的时候只用到数组的变换,a[j]=a[j-2]+a[j-1]可以看到代码中的注释,就是自己开始的想法,刚开始用简单的数据测试的时候没有出现问题,但是数据变复杂了就出现问题了,比如 123*+这个计算的结果应该是7,但是输出的结果是9,后来发现问题了,这里计算的步骤是2*3+3=9,所以这就出现问题了,这也是为什么要用栈的原因吧,先将两个数出栈,将结果计算出来后再入栈,就不会出现这样的问题了,开始,还有个小问题,没有把字符转换成整型,计算出来的结果是比较大的数据。

原文地址:https://www.cnblogs.com/zhangyingai/p/7099110.html