阅读以下说明和图4-6,回答问题1至问题4。【说明】 本流程图(如图4-6所示)是将中缀表示的算术表达式

21 查阅

阅读以下说明和图4-6,回答问题1至问题4。

【说明】

本流程图(如图4-6所示)是将中缀表示的算术表达式转换成后缀表示。如中缀表达式 (A-(B*C+D)*E)/(F+G)的后缀表示为ABC*D+E*-FG+/。为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达式非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下。

. 数组IN[]存储中缀表达式。

. 数组POLISH[]存储其后缀表示。

. 数组S[]是一个后进先出栈。

函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级如表4-4所示。

填充流程图中①的判断条件。

参考答案:

PRIOR(IN[i]):PRIOR(S[p])PRIOR(IN[i]):PRIOR(S[p])

软考中级