中缀表达式转换成前缀和后缀表达式这类题目的超实用解题技巧

看到了标题如果还不了解的这几个概念的请先看看博客:详解前缀、中缀、后缀表达式



先给几个中缀表达式转换成后缀表达式题目做做吧,最后我们在总结超实用的技巧!!


1. 表达式“X=A+B*(C–D)/E”的后缀表示形式可以为

A. XAB+CDE/-*=

B. XA+BC-DE/*=

C. XABCD-*E/+=

D. XABCDE+*/=

先把答案说出来吧,不过你可以自己先好好的想想可以怎么做才能更快的把答案选出来呢?

答案:C

先看看下面图片中的这种方法如何?

这里写图片描述




2. 已知-算术表达式的中缀表达式为a-(b+c/d)*e,其后缀形式为()

A. -a+b*c/d

B. -a+b*cd/e

C. -+*abc/de

D. abcd/+e*-

答案:D



3. 算术表达式a+b*(c+d/e)转为后缀表达式后为()

A. ab+cde/*

B. abcde/+*+

C. abcde/*++

D. abcde*/++

答案:B



4. 表达式a*(b+c)-d的后缀表达式是()

A. abcd*+-

B. abc+*d-

C. abc*+d-

D. -+*abcd

答案:B


好,题目我们也看了这么多了,那我们该如何解决这一类的题目呢?如果你看了文章首部的那篇

博客的话,那你肯定会觉得那个解法很复杂,如果真的是在笔试中出现这样的题目,那得耗费不

少的时间啊。有人要问了,说了那么一堆,那究竟有没有什么快速的方法呢或者说有没有什么简

单的方法可以直接口算的把答案写出来呢,答案是:有的!而且还真的是特别的简单!!!


解题重点:

这里我给出一个中缀表达式~

a+b*c-(d+e)

第一步:按照运算符的优先级对所有的运算单位加括号

    则式子变成拉:((a+(b*c))-(d+e)) 

第二步:转换前缀与后缀表达式

    1. 前缀表达式:把运算符号移动到对应的括号前面 

          则变成拉:-( +(a *(bc)) +(de)) 

          把括号去掉:-+a*bc+de  前缀表达式出现 

    2. 后缀表达式:把运算符号移动到对应的括号后面 

          则变成拉:((a(bc)* )+ (de)+ )- 

          把括号去掉:abc*+de+-  后缀表达式出现 

发现没有,前缀表达式,后缀表达式是不需要用括号来进行优先级的确定的。

如果你习惯拉他的运算方法。计算的时候也就是从两个操作数的前面

或者后面找运算符。而不是中间找,那么也就直接可以口算啦!


你说这种方法是不是很简单啊!!!

现在你再去看看刚才的那四道题目,是不是很简单的答案就口算出来了啊!!!

6不6?

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhisheng_blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值