1744: 编程求一个后缀表达式的值

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:33 Solved:2

Description

从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(—)、乘(*)、除(/)四种运算符。每个运算数之间用一个空格隔开,不需要判断给你的表达式是否合法。以@作为结束标志。

【算法分析】

       后缀表达式的处理过程很简单,过程如下:扫描后缀表达式,凡遇操作数则将之压进堆栈,遇运算符则从堆栈中弹出两个操作数进行该运算,将运算结果压栈,然后继续扫描,直到后缀表达式被扫描完毕为止,此时栈底元素即为该后缀表达式的值。

       比如,16–9*(4+3)转换成后缀表达式为:

      16□9□4□3□+*–,在字符数组A中的形式为:

Input

一行字符串

Output

输出结果

Sample Input Copy

16 9 4 3 +*–@

Sample Output Copy

-47