#6666. 中缀表达式的值(*)

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: chbn

题目描述

人们熟悉的四则运算表达式称为中缀表达式,例如(23+34*45/(5+6+7))。在程序设计语言中,可以利用堆栈的方法把中缀表达式转换成保值的后缀表达式(又称逆波兰表示法),并最终变为计算机可以直接执行的指令,得到表达式的值。 给定一个中缀表达式,编写程序,利用堆栈的方法,计算表达式的值。

输入格式

第一行为测试数据的组数N 接下来的N行,每行是一个中缀表达式。表达式中只含数字、四则运算符和圆括号,操作数都是正整数,数和运算符、括号之间没有空格。中缀表达式的字符串长度不超过600。(运算过程中的小数需要保留:例如5*(5/2) = 5*2.5 = 12.5)

输出格式

对每一组测试数据输出一行,为表达式的值(保留整数部分,不进行四舍五入)

样例

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

43
64
108