括号匹配(栈)

在编程当中我们只会用到三种括号:圆括号(),方括号[]和花括号{},编译器在编译的时候会检查括号是否正确匹配。例如{[()]}、{()[]{}}都是合法的匹配。但是([)]则是不合法的匹配。请编写一个程序来判断输入的括号序列是否合法。

根据思路:

括号匹配(栈)_第1张图片

#include 
#include 

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] =&

你可能感兴趣的:(#,算法,/,数据结构)