#CCFPB06E03. 逆波兰表达式求值

    ID: 1090 传统题 1000ms 256MiB 尝试: 6 已通过: 1 难度: 3 上传者: 标签>来源CCF中学生计算机程序设计(基础篇)数据结构

逆波兰表达式求值

题目描述

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

输入格式:

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

输出格式:

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

样例:

* + 11.0 12.0 + 24.0 35.0
1357.000000

提示:

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

Limitation

1s, 1024KiB for each test case.