hzCPPOJ

栈应用(表达式求值)2-中缀转后缀输出

时间限制:  1 s      内存限制:   128 MB
提交:148     正确:80     分值:88

题目描述

我们熟悉的表达式如a+b、a+b*(c+d)等都属于中缀表达式。

中缀表达式就是(对于双目运算符来说)操作符在两个操作数中间:num1 operand num2

同理,后缀表达式就是操作符在两个操作数之后:num1 num2 operand。

前缀表达式则是操作符在两个操作数之前:operand num1 num2。

现在试图输入一个中缀表达式分别转换为后缀表达式和前缀表达式。现在请你设计一个程序完成题目要求。

为简化问题,操作数均为个位数,操作符只有+-*/ 和小括号


输入

测试数据只有一行,是一个长度不超过1000的字符串,表示这个表达式。

这个表达式里只包含+-*/与小括号这几种符号。

小括号可以嵌套使用。

数据保证输入的操作数中不会出现负数。并且输入数据不会出现不匹配现象。

输出

输出转换的后缀表达式

样例

样例输入:
1+2
样例输出:
1 2 +
样例输入:
(1+2)*3+4*5
样例输出:
1 2 + 3 * 4 5 * +
样例输入:
2+9/6-4
样例输出:
2 9 6 / + 4 -
样例输入:
2*(9+6/3-5)+4
样例输出:
2 9 6 3 / + 5 - * 4 +
样例输入:
6*5*1
样例输出:
6 5 * 1 *
样例输入:
7/5*6
样例输出:
7 5 / 6 *

提交人

AmberXie

来源/分类