题目描述
读入一个只包含 +, -, *, / 的正整数计算表达式,计算该表达式的值。其中,每个正整数的大小限制在1~9,该表达式不存在括号,且没有非法表达式。
输入描述
输入一行字符串,不超过200个字符,表达式不存在空格。
输出描述
输出1个数值,即该表达式的值,精确到小数点后2位。
样例输入
6/2+3+3*4
样例输出
18.00
提示
到右遍历字符串(为输入串加上终结符#),遇到数字就将其加入string类型的numStr中,要保证整个数串都被加入,当遇到运算符时,将该string转为数字后压入数字串,这时候我们看看符号栈,如果符号栈为空则压入符号(说明数字栈里只有一个数字);如果非空且栈顶运算符是*和/的话就立刻取出两个操作数做运算,能保证乘除法比加减法先算。这样的话不断处理完了乘除法,最后需要做的只是做整个数字栈的加减法。