#include<iostream>
#include<stack>
using namespace std;
const int MAX = 100;
void PrintMatchedPairs(char str[])
{
if(str == NULL )return;
stack<char> s;
int len=strlen(str);
for(int i=1;i<len;i++)
{
if(str[i-1] == '(')
s.push(str[i-1]);
else if(str[i-1] == ')')
{
if(s.top())
{
s.pop();
}
else
cout << "左括号少于右括号,匹配不成功" <<endl;
}
}
if(s.empty())
cout <<"匹配成功" <<endl;
else
cout << "左括号多于右括号,匹配不成功" <<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
char str[MAX]="((())()()()))";
PrintMatchedPairs(str);
system("pause");
return 0;
}