在编程当中我们只会用到三种括号:圆括号(),方括号[]和花括号{},编译器在编译的时候会检查括号是否正确匹配。例如{[()]}、{()[]{}}都是合法的匹配。但是([)]则是不合法的匹配。请编写一个程序来判断输入的括号序列是否合法。
根据思路:
#include <stdio.h>
#include <string.h>
int main()
{
int i, j, z, flag;
char a[101], s[101];
memset(s, '.', sizeof(s));
gets(a);
i = strlen(a);
j = 0;
z = 0;
flag = 0;
while(j < i)
{
if(a[j] == '(' || a[j] == '[' || a[j] == '{' || a[j] == ')' || a[j] == ']' || a[j] == '}') //是括号
{
if(a[j] == '(' || a[j] == '[' || a[j] == '{') //该字符是左括号
{
s[++z] = a[j]; //入栈
j&