acm练习题中的括号匹配问题(-)

来源:互联网 发布:淘宝禁用词表 编辑:程序博客网 时间:2024/06/13 14:47

#include<stdio.h>
int main()
{
int i,n,top;
char s[99],str[99];
scanf("%d",&n);
getchar();
while(n--)   //控制输入的组数
{
i=0;
top=-1;
        gets(s);
while(s[i]!='\0')
{
if(s[i]=='[' || s[i]=='(')     //若输入的括号为左括号,则存放在str数组中
{
top++;
str[top]=s[i];
}
else
{
if(s[i]==']' && str[top]=='[')   //若输入的为右括号
top--;   //检验是否与str数组中的最后一个元素配对
else if(s[i]==')' && str[top]=='(')


                    top--;
else
top++;
}
i++;
}
if(top==-1)
printf("Yes\n");
else
printf("No\n");

}
return 0;
}

原创粉丝点击