2273 - 中缀表达式的值

题目描述

人们熟悉的四则运算表达式称为中缀表达式,例如(23+34*45/(5+6+7))

在程序设计语言中,可以利用堆栈的方法把中缀表达式转换成保值的后缀表达式(又称逆波兰表示法),并最终变为计算机可以直接执行的指令,得到表达式的值。

给定一个中缀表达式,编写程序,利用堆栈的方法,计算表达式的值。

输入

第一行为测试数据的组数 N 接下来的 N 行,每行是一个中缀表达式。表达式中只含数字、四则运算符和圆括号,操作数都是正整数,数和运算符、括号之间没有空格。中缀表达式的字符串长度不超过 600

输出

对每一组测试数据输出一行,为表达式的值

样例

输入

3
3+5*8
(3+5)*8
(23+34*45/(5+6+7))

输出

43
64
108
说明

注意:运算过程均为整数运算(除法运算'/'即按照C++定义的int除以int的结果,测试数据不会出现除数为0的情况),输出结果也为整数(可能为负)。 中间计算结果可能为负。

来源

电子学会六级

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 170
通过人数 75
金币数量 3 枚
难度 提高


上一题 下一题