#455. 小码君的数学梦
小码君的数学梦
题目描述
在梦中小码君是一个数学达人,轻轻松松就学了表达式的后缀表达方法,所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。
如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。
输入格式
输入:后缀表达式(表达式长度不超过50个字符)
输出格式
后缀表达式计算出的结果
样例
样例输入
3.5.2.-*7.+@
样例输出
16
数据范围与提示
1.初始化一个空栈。此桟用来对要运算的数字进出使用。
2.后缀表达式中前三个都是数字,所以3、5、2进栈。
3.接下来是减号“-”,所以将栈中的2出栈作为减数,5出栈作为被减数,并运算5-2得到3,再将3进栈。
4.接下来是乘号“*”,所以将栈中的3出栈作为因数1,3出栈作为因数2,并运算3*3得到9,再将9进栈。
5.接着是数字7进栈。
6.下面是加法“+”,所以找中7和9出找,7与9相加,得到16,将16进栈。
7.此时遇到终结字符'@',输出此为唯一的栈内元素16