正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-J 2023 第一轮真题 › 第 8 题
CSP-J 2023 第一轮 第 8 题:后缀表达式转中缀表达式
题目
后缀表达式 6 2 3 + - 3 8 2 / + * 2 ^ 3 + 对应的中缀表达式是

选项
- A. ((6-(2+3))\*(3+8/2))^2+3
- B. 6-2+3\*3+8/2^2+3
- C. (6-(2+3))\*((3+8/2)^2)+3
- D. 6-((2+3)\*(3+8/2))^2+3
答案
A
题解
答案是 A。
后缀表达式的规则是:运算符写在两个操作数后面。例如 2 3 + 对应 2+3。
转换时可以用栈:遇到数字就入栈;遇到运算符就弹出两个表达式,先弹出的是右操作数,后弹出的是左操作数,组合后再入栈。
这道题按顺序合并:
| 遇到的运算符 | 合并得到的中缀表达式 |
|---|---|
第一个 + | (2+3) |
- | (6-(2+3)) |
/ | (8/2) |
第二个 + | (3+8/2) |
* | ((6-(2+3))*(3+8/2)) |
^ | ((6-(2+3))*(3+8/2))^2 |
最后一个 + | ((6-(2+3))*(3+8/2))^2+3 |
所以选 A。注意:^ 出现时,前面的乘法已经组合完成,因此平方作用于整个乘积。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号