题目描述:
给定一个字符串描述的算术表达式,计算出结果值。
输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。
输入描述:输入算术表达式(中缀表达式)
400+5
输出描述:计算出结果值
405
做题思路:
将输入的中缀表达式,转换为对应的后缀表达式进行计算
中缀表达式:5+4*6/2+3+(4*5)/5
对应的后缀表达式:5 4 6 * 2 / 3 + 4 5 * 5 / +
中缀表达式转为后缀表达式:
设置一个空栈S1
1.遇到操作数直接输出(输出的含义是指追加到当前后缀表达式后面)
2.栈为空时,遇到运算符,直接入栈
3.遇到左括号时,直接入栈
4.遇到右括号时,如果栈顶的操作符不为左括号,一直出栈,并将出栈的操作符输出。当栈顶的操作符是左括号时,将左括号出栈, 停止本步骤。
5.遇到&#