题解:UVA12803 Arithmetic Expressions

· · 题解

题解:UVA12803 Arithmetic Expressions

大致题意:给你一个以字符串形式输入的表达式,请你计算出这个表达式的值并输出。

此题用 python 可以直接调用 eval 函数,它的作用是将字符串作为函数的参数,从而直接计算出表达式的值。

了解 eval 函数

至于 python 代码其他几位大佬的题解里都有,我就不多说了。

重点是:用 c++ 咋做捏?

其实很简单,我们需要一个符号栈,然后用它先把输入的中缀表达式转成后缀表达式。然后从左到右遍历一下整个表达式。重复以下操作:

直到遍历完后,栈中一定只会剩下一个元素,也就是后缀表达式的计算结果,将它输出就好了。

以上部分思路来自 @qingchenMC 大佬的代码,如有不懂可以再看看这篇文章。

结语

这道题是一个比较好的模拟题,作者码字时难免有些纰漏,如有问题请指出,感激不尽!