中缀表达式
时间限制:1秒 内存限制:256M
【问题描述】
一个数学表达式由下列元素组成:左括号,右括号,加号,减号,乘号,正号,负号,整数(无前导0)。现在给出一个长度不超过 100 的数学表达式,求它的值。要求考虑括号和乘法的优先级,计算过程中的临时值的绝对值保证不会超过int范围。
给出的表达式保证合法以及符合人的书写习惯(即除括号外,不会出现相继的两个运算符,可能会有多余的括号对)。以下表达式被认为是合法的:
((10+(-100))) ,-(10+(-100)),-3*(+5+7*2)-(0) ,-0 ,(-3)*(-5+7)
以下表达式被认为非法:
1+-7 ,--3+8 ,-3+(),-3+-(5+7),4+(-7)*(2+3)+-5
【输入格式】
第一行为合法的表达式。
【输出格式】
输出表达式的值。
【输入输出样例1】
Input
-3*(+5-7*2)-(0)
Output
27
【数据限制】
表达式字符串长度不会超过100。
【来源】
Mr.he