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