c语言括号配对问题

2025-04-14 06:12:24
推荐回答(2个)
回答1:

#include
#include
#include 
int main(){
char a[100];    //假设长度小于100
gets(a);//or scanf("%s",a);
int t=0,kuohao=0;
for(;t{
    if(a[t]='(') //左括号的情况
    kuohao++;
 else if(a[t]=')') kuohao--;
 }
  if(kuohao) printf("NO");    //kuoho=0时,if返回false
  else printf("Yes");
}

回答2:

#include
#include
int isPair(char *s)
{
int i,j=0,k=0;
for(i=0;s[i]!='\0';i++)
{
if(s[i]=='(') j++;
if(s[i]==')') k++;
}
if(j==k) return 1;
return 0;
}
int main()
{
int n;
char *s;
scanf("%d",&n);
s=(char*)malloc((n+1)*sizeof(char));
scanf("%s",s);
if(isPair(s)) printf("Yes\n");
else printf("No\n");
free(s);
return 0;
}