你学是C语言? 晕,我的是用C#实现的。 逆波兰---- 5+9 --> 5 9 +.。
(3+5)*5 ---> 3 5 + 5 * 以第二个为例子。 当遇到3 压栈,遇到5 压栈 遇到+(不是数字,你需要判断当前的是数字还是运算副),出栈---5 和3
将5 加上3
5+3 = 8 。将8压栈。接着又遇到第二个五--数字,压栈。接着遇到*
出栈----8 和 5
进行8*5 = 40
将40 压栈 碰到结束符号 将40出栈,则40就是运算结果,
你得将输入转换成逆波兰结构
再将表达市分割存入数组 依次从数组中取元素 判断是数字还是运算副,进行上面的运算后 你就得到答案了。 你得实现一个堆栈结构(自己实现)。