首页 > 试题广场 >

(a-b)*(c*d+e)-(d-ef)的逆波兰式是()

[单选题]
(a-b)*(c*d+e)-(d-e/f)的逆波兰式是()
  • ab-cd*e+*def/--
  • abcdedef-**+/--
  • ab-cd*e+*def
  • a-b*c*d+e-d-e/f
推荐
A
逆波兰式也叫后缀表达式(将运算符写在操作数之后)中序转为后缀表达式做法步骤:
  1. 先建立一个栈,从左到右读表达式
  2. 操作(数)值直接输出,运算符“(”直接入栈,直到遇到 “)”出栈(括号符号不输出)。
  3. 其他符号依次出栈并输出,直到遇到比当前符号优先级更低的符号或“(”继续入栈
  4. 读完整个表达式后,剩余符号依次输出
原式:(a-b)*(c*d+e)-(d-e/f)
转后:ab-cd*e+*def/--
编辑于 2019-10-17 14:42:53 回复(1)
ab-cd*e+*def/-- 
好像没有答案

发表于 2019-12-05 15:50:08 回复(2)
逆波兰式其实就是后缀表达式,转换过程如图

发表于 2019-10-16 15:38:54 回复(0)
先根据优先级添括号,再把运算符拿到本层括号外,最后去掉括号。
(((a-b)*((c*d)+e))-(d-(e/f)))
ab-cd*e+*def/--
不知为何没有答案。
发表于 2020-02-24 00:37:28 回复(0)

ab-cd*e+*def/--

发表于 2019-10-16 15:26:02 回复(0)