C语言的题,有一个测试数据我一直过不了 ,.【问题描述】假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符.编写程序,判别串中的括号是否正确匹配,

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 02:09:02
C语言的题,有一个测试数据我一直过不了 ,.【问题描述】假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符.编写程序,判别串中的括号是否正确匹配,
xT[og++/Ԋʆ*owp ƋbdžIjc׎\'1w{hEg̜9sVj /_?I%'5xqJZ [:#5 R+Mю[1r]`%==]mCw7U8Ϡ&7 \+d م~9 _ -@x Ze&!wv '%А=Ԭ@נX%ɯDhSzqt_O%(˻ξ K= UMJu]ۻNYK(k]He!Ӓ7f1*#jmR/Um| 3bXK)h!W(770\joBwr,B$5p4.Dv2R=JژaaH~ZՇNY[egw5ۈeaNM ,FBIb@[ osÿ&f)8 y T*'zTΠÍ {nUɸHaS 64I 3}`eLd_βeY&.ĒqԈ`qՃ :\,g\L,.նOsfbèZrҏ㳀7 sZЖ6`0QBY>Yh$42r.7?q߯ezSu/3x0WŤɢa'8,zU:ٻNNE<'k)HŁdUA//1,F':n)B ]ȿh?a\G4B䳼8UʛȝZSUgןigAz]Mwjn^X嚲NoTtsi#l`*6e.Ŧբ00*gjJ{?V:9'Np(΅LT˯8yMԐ3tbvRpxHNDLY.66R/ELר1BnETa

C语言的题,有一个测试数据我一直过不了 ,.【问题描述】假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符.编写程序,判别串中的括号是否正确匹配,
C语言的题,有一个测试数据我一直过不了 ,.
【问题描述】
假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符.编写程序,判别串中的括号是否正确匹配,即:
1.各种左、右括号的个数要一致;
2.不能先出现右括号;
3.其它规则暂不考虑,例如:( ad [ ce ) ef ] 认为是正确的.
【输入形式】
从当前目录下correct.in文件中读入一行字符串.字符串最大长度80,不含空格.
【输出形式】
输出到当前目录下correct.out文件中.输出只有一个单词,如果括号匹配则输出“True”到文件中,否则输出“False”.在输出末尾要有一个回车符.
【输入样例】
设输入文件内容如下:
rhe+[35(fjej)w-wr3f[efe{feofds}]
【输出样例】
输出文件内容为:
False
我的算法:
#include
int main(){
\x05FILE *in,*out;
\x05char sum[81];
\x05int a=0,b=0,c=0,d=0,e=0,f=0,i;
\x05in=fopen("correct.in","r");
\x05out=fopen("correct.out","w");
\x05fscanf(in,"%s",sum);
\x05for(i=0;i

C语言的题,有一个测试数据我一直过不了 ,.【问题描述】假设一个输入字符串中包含圆括号、方括号和花括号三种类型的括号,以及其它一些任意字符.编写程序,判别串中的括号是否正确匹配,
这道题的意思是不是包含这样的一个意思:假如出现()()这种情况也属于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");
else
printf("false")
}