pascal 括号配对问题假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如(〔 〕())或〔(〔 〕〔 〕)〕等为正确的匹配,〔(〕)或(〔 〕( )或 (()))均为错

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 04:56:25
pascal 括号配对问题假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如(〔 〕())或〔(〔 〕〔 〕)〕等为正确的匹配,〔(〕)或(〔 〕( )或 (()))均为错

pascal 括号配对问题假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如(〔 〕())或〔(〔 〕〔 〕)〕等为正确的匹配,〔(〕)或(〔 〕( )或 (()))均为错
pascal 括号配对问题
假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如(〔 〕())或〔(〔 〕〔 〕)〕等为正确的匹配,〔(〕)或(〔 〕( )或 (()))均为错误的匹配.
现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配?
输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “OK” ,不匹配就输出“Wrong”.
输入一个字符串:
〔(〔〕〔〕)〕
输出:
OK
var
a:string;
i,j:integer;
now:array[1..40]of char;
l:integer;
ans:integer;
top:integer;
begin
read(a);
l:=length(a);
ans:=0;
top:=0;
if (a[1]=')') or (a[1]=']') then
begin
ans:=1;
write('Wrong');
end;
while (a[i]' ') and (ans1) do
begin
if (a[i]='(') and (a[i]='[') then
begin
top:=top+1;
now[top]:=a[i];
end;
if (a[i]=')') then
if now[top]='(' then
top:=top-1
else
begin
write('wrong');
ans:=1;
end;
if (a[i]=']') then
if now[top]='[' then
top:=top-1
else
begin
write('Wrong');
ans:=1;
end;
i:=i+1;
end;
if ans=0 then write('OK');
end.
哪里错了?

pascal 括号配对问题假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如(〔 〕())或〔(〔 〕〔 〕)〕等为正确的匹配,〔(〕)或(〔 〕( )或 (()))均为错
首先 建议用for循环写 for i:=1 to length(a) do
还有 在循环中输出‘Wrong’后最好 break;
致命之处在于 if语句 if (a[i]='(') and (a[i]='[') 应该是 if (a[i]='(') or (a[i]='[')
同时 第二个 ‘wrong’ 应是 ‘Wrong’

pascal 括号配对问题假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如(〔 〕())或〔(〔 〕〔 〕)〕等为正确的匹配,〔(〕)或(〔 〕( )或 (()))均为错 pascal括号匹配描述 给定一个算术表达式,检查其中的圆括号是否配对,给出适当信息(正好:Yes,左括号多:Left,右括号多:Right)输入格式 一行字符. 输出格式 三个信息之一. 编写一个表达式中括号是否正确配对的算法 编写一个判断算术表达式中开括号闭括号是否配对的算法 求一程序:用C语言编写,要求如下:实验内容:(1) 判断一个算术表达式中开括号和闭括号是否配对.(2) 假设算术表达式仅由加减乘除运算符组成,编写一个函数对用后缀表达式表示的算 C语言问题,我是新人小白,1、 以下关于if语句的错误描述是(  ).A.条件表达式可以是任意的表达式B.条件表达式只能是关系表达式或逻辑表达式C.条件表达式的括号不可省D.与else配对 试写一个判别表达式中括号是否配对出现的算法. 数据结构:括号匹配问题.假设一个算术表达式中允许包含两种括号:()[] 其嵌套的次序随意,请设计一个算法判断一个算术表达式中的括号是否匹配 数据结构编程题(栈与队列)?1:假设一个算术表达式中可以包含圆括号“(”和“(”,编写判别给定表达式中所含括号是否正确配对出现的算法.(东软电子出版社习题)2:编写斐波那契数列 在Java中,设计一个算法,判断一个算术表达式中的括号是否配对.还需要分别指出哪个左括号与哪个右括号对应? 用栈来判断一个表达式中的括号(仅有一种括号,小、中或大括号)是否配对.编写并实现它的算法. JAVA括号配对问题(要用栈来解决)要求输入一行字符,输出配对的括号和不配对的括号的位置例如:输入: (a+b))( 输出: 左边第1位括号和左边第5位括号对应,左边第6位括号没对应左 2.循环向量中的循环队列.队列的长度公式是什么?如何判断一个算术表达式的园括号是否正确配对? 括号配对检查问题对输入的一段C或者C++代码(只要求其中一种),检查各种括号是否配对,以及配对的情况.基本要求:对于输入的一段代码,能够检查其中的括号(例如{ }、[ ]和( ))是否配对,如果配 PASCAL 老鼠走迷宫问题 Pascal中,什么叫关系表达式、说明表达式、条件表达式、逻辑表达式?请举例 剔除多余括号(pascal)求教输入一个含有括号的四则运算表达式,可能含有多余的括号.编程整理该表达式,去掉所有多余的括号,原表达式中所有变量和运算符相对位置保持不变,并保持与原表 分不多,数据结构,试写一个判别表达式中开、闭括号是否配对出现的算法./*顺序表exp表示表达式;*//*若exp中的括号配对,则返回TRUE,否则返回FALSE *//*注:本函数不使用栈*/{int i,count;for(i=0;i