您的位置:首页 > 其它

括号匹配问题

2016-05-29 21:35 288 查看
假设表达式中包含三种括号:圆括号、方括号和花括号,它们可以相互嵌套,如({ }[ ]([{ }]))等均为正确的格式,而{]}等为不正确的格式。以下为算法程序:

/*括号匹配问题*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int count[3] = { 0 };
char ch;
while ((ch = getchar()) != EOF)
{
switch (ch)
{
case '(':
count[0]++;
break;
case '[':
count[1]++;
break;
case '{':
count[2]++;
break;
case ')':
if (count[0] == 0)
{
printf("匹配失败!\n");
system("pause");
return 0;
}
count[0]--;
break;
case ']':
if (count[1] == 0)
{
printf("匹配失败!\n");
system("pause");
return 0;
}
count[1]--;
break;
case '}':
if (count[2] == 0)
{
printf("匹配失败!\n");
system("pause");
return 0;
}
count[2]--;
break;
}
}
if (count[0] == 0 && count[1] == 0 && count[2] == 0)
printf("匹配成功!\n");
else
printf("匹配失败!\n");
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: