算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3(7-4)+8/4的前缀表达式是:+ + 2 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。
输入格式说明:
输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、\以及运算数,不同对象(运算数、运算符号)之间以空格分隔。
输出格式说明:
输出前缀表达式的运算结果,精确到小数点后1位,或错误信息“ERROR”。
样例输入与输出:
|序号 |输入 |输出|
|:—:|
|1 |+ + 2 3 - 7 4 / 8 4|13.0
|2 |/ -25 + - 2 3 4 / 8 4|12.5
|3 |/ 5 + * - 2 3 4 / 8 2|ERROR
|4 |+10.23|10.2
1 | #include<iostream> |
这是我第一次在编译器上调好,在oj上测试一次性直接通过的代码啊,泪奔!
写的比较烦,因为这是数据结构mooc上的作业,本意就是想让我们用数据结构自己写一个堆栈来做,当然我们也可以自己不写堆栈来做,直接用C++中STL里面的stack来做,这样就不用自己构造堆栈了!