读入一个只包含 +, -, *, / 的非负整数计算表达式计算该表达式的值。
测试输入包含若干测试用例每个测试用例占一行,每行不超过200个字符整数和运算符之间用一个空格分隔。没有非法表达式当一行中只有0时输入结束,相应的结果不要输出
对每个测试用例输出1行,即该表达式的值精确到小数点后2位。
1.定義一个函数判定优先级:# 的优先级最低为0,+ 和 - 的级别相同且高于 #,标为1* 和 / 的级别相同且高于 + 和 - ,标志为2,
2.先往运算符栈放入一个 # (标定界限)表达式最后也加一个 #( (标定界限)),
3.遍历表达式若读到数字,则以数字类型输入直接放到操作数栈,若读到的是运算符则比较读到的運算符与运算符栈顶符号的级别,
若比栈顶的高则入栈,否则从数栈取两个操作数根据操作符栈顶的操作进行运算,再把结果压入数棧刚刚读到的运算符再与现在运算符栈
顶元素的级别进行比较……最后数剩下的一个元素,就是结果