#P09010. 波兰表达式2
波兰表达式2
题目背景
波兰表达式是一种把 运算符前置
的算术表达式,例如普通的表达式 的波兰表示法为 。波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如 的波兰表示法为 。
题目描述
本题求解波兰表达式的值,其中运算符包括 + - * /
四种。计算过程中不会出现除数是 的情况。-
只表示减法,不会出现对一个数取相反数的情况。
输入格式
若干行,每行是一个以 $
结尾的字符串,$
前没有空格,除去结尾的 $
子串是一个波兰表达式,波兰表达式中运算符、数字之间都用一个空格隔开。
输出格式
依次是输入的每个波兰表达式的计算结果,结果保留 位小数。
如果输入的波兰表达式有误,输出 Error
。
输入输出样例
* + 11.0 12.0 + 24.0 35.0$
+ 2 5 1$
1357.000000
Error
说明/提示
👀️ 使用 C/C++ 编程解决本问题,可使用 atof(str)
把 字符数组str存储的字符串
转换为一个 double
类型的浮点数,atof
定义在 cmath
中。
👀️ 对于 的数据,计算过程中不会出现除数是 的情况。
相关
在下列比赛中: