C语言的题,有一个测试数据我一直过不了 ,.【问题描述】假设一个输入字符串中包含圆括号、方括号和花括

发布时间:2021-03-07 22:44:02

C语言的题,有一个测试数据我一直过不了 ,.【问题描述】假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符.编写程序,判别串中的括号是否正确匹配,即:1.各种左、右括号的个数要一致;2.不能先出现右括号;3.其它规则暂不考虑,例如:( ad [ ce ) ef ] 认为是正确的.【输入形式】从当前目录下correct.in文件中读入一行字符串.字符串最大长度80,不

网友回答

这道题的意思是不是包含这样的一个意思:假如出现()()这种情况也属于false吧,只能是这种种类型的(())……建议可以试用一下goto语句,建立两层循环一对一对的找,例如:
int i,j,l,k=0;
for(i=0;i=0;j--)
{if(sum[j]=='(')
{for(l=0;l>=j;l++)
{if(sum[l]==')');
printf(false);
else if(sum[j]=='[')
{for(l=0;l>=j;l++)
{if(sum[l]==']');
printf(false);
}else if(sum[j]=='{')
{for(l=0;l>=j;l++)
{if(sum[l]=='}');
printf(false);
}else continue;
}for(i=79;i>=0;i--)
{if(sum[i]==')')
k--;else if(sum[i]==']')
k--;else if(sum[i]=='}')
k--;else continue;
}if(k==0)printf(true);elseprintf(false)}
以上问题属网友观点,不代表本站立场,仅供参考!