A、需要进行出栈操作但栈已空
B、需要进行入栈操作但栈已满
C、表达式处理已结束,但栈中仍留有字符“(”
D、表达式处理已结束,但栈中仍留有字符“)”
1.可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,(33);对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,(34)。这两种情况都表明所检查的算术表达式括号不匹配。A.栈为空却要进行出栈操作B.栈已满却要进行入栈操作C.表达式处理已结束,栈中仍留有字符“(”D.表达式处理已结束,栈中仍留有字符“)”
2.可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,(请作答此空);对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,( )。这两种情况都表明所检查的算术表达式括号不匹配。A.栈为空却要进行出栈操作 B.栈已满却要进行入栈操作 C.表达式处理已结束,栈中仍留有字符“(” D.表达式处理已结束,栈中仍留有字符“)”
3.可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。在检查表达式“a*(b+c))-d”时,由于( ),因此可判断出该表达式中的括号不匹配。A.需要进行出栈操作但栈已空 B.需要进行入栈操作但栈已满 C.表达式处理已结束,但栈中仍留有字符“(” D.表达式处理已结束,但栈中仍留有字符")”
4.设计算法判断一个算术表达式的圆括号是否正确配对。(提示:对表达式进行扫描,凡遇到'('就进栈,遇')'就退掉栈顶的'(',表达式被扫描完毕,栈应为空。
第1题:
第2题:
第3题:
在括号匹配算法中,当正扫描的符号是右括号,此时的栈是空栈,则()。
A.右括号进栈;
B.继续向下扫描;
C.取出栈顶元素做匹配检查;
D.此时出现右括号多了的不匹配现象。
第4题:
第5题: