任意给定一个字符串,字符串中包含除了空白符、换行符之外的任意字符。你的任务是检测字符串中的圆括号是否配对,即“(”与“)”是否配对。如字符串“((a+b)* (c+d))”中是配对的,而“((a+b)*) c+d))”则不配对。
输入格式:
一个长度不超过100的非空字符串,该字符串中不会出现空格、换行符。
输出格式:
匹配及不匹配见样例。
输入样例一:
((a+b)*(c+d))
输出样例一:
parentheses match!
输入样例二:
((a+b)*)c+d))
输出样例二:
parentheses do not match!
参考代码:
#include<stdio.h>
int main()
{
char str[101];
int cnt=0;
gets(str);
for(int i=0;str[i]!='\0';i++){
if(str[i]=='(')
cnt++;
else if(str[i]==')')
cnt--;
if(cnt<0)
break;
}
if(cnt==0)
printf("parentheses match!\n");
else
printf("parentheses do not match!\n");
}