#LT1681. 波兰表达式

    ID: 5347 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>递归栈基础第二讲(Level3)第二十一讲(Level2)GESP 6级

波兰表达式

1681 波兰表达式

题目描述

波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式 2 + 3 的波兰表示法为 + 2 3。波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如 (2 + 3) * 4 的波兰表示法为 * + 2 3 4。本题求解波兰表达式的值,其中运算符包括 + - * / 四个。

输入格式

输入为一行,其中运算符和运算数之间都用空格分隔,运算数是浮点数。

输出格式

输出为一行,表达式的值。可直接用 printf("%f\n", v) 输出表达式的值 v。

样例

样例输入 1

* + 11.0 12.0 + 24.0 35.0

样例输出 1

1357.000000

数据范围与提示

数字 + 运算符 ≤ 100

可使用 atof(str) 把字符串转换为一个 double 类型的浮点数。atof 定义在 cmath 中。

知识点与难度

  • 知识点标签:递归、栈基础、第二讲(Level3)、第二十一讲(Level2)
  • GESP 等级:6 级
  • 难度:Mid-

测试点分布

子任务 测试点编号 分值 说明
0 1-2 10 样例测试
1 3-8 20 小规模数据
2 9-11 15 Hack 数据
3 12-20 30 中大规模数据
4 21-25 25 随机回归数据