括號匹配問題

2021-08-26 12:38:23 字數 1329 閱讀 2294

#ifndef aaa

#define aaa

#include#includetypedef char datatype;

#define number 20

typedef struct stack

stack;

void mathbrackets(stack *cur, char *a);

void stackinit(stack *ret);

#endif //aaa

#include"match.h"

//棧的初始化

void stackinit(stack *ret)

//判斷是否是括號

int ismatch(char a)')

return 0;

}//判斷左右括號是否匹配

int match(stack *cur, char a)')

return 0;

}//出棧

void stackpop(stack **cur)

(*cur)->count--;

}//清空棧

void stackempty(stack **cur)

//括號匹配函式

void mathbrackets(stack *cur, char *a)

//遇到右括號時,與棧頂元素比較

if(a[i] == ')' || a[i] == '}' || a[i] == ']')

//如果括號匹配,出棧

else if(match(cur, a[i]))

//如果左右括號不匹配

else

}} i++;

} if(cur->count == 0 && a[i] == '\0')

printf("括號匹配\n");

else

printf("左括號大於右括號\n");

stackempty(&cur);

}

#include"match.h"

void text()

"; char b = "(()))abc";

char c = "(()()abc";

char d = "(())abc";

stackinit(&ret);

mathbrackets(&ret, a);

mathbrackets(&ret, b);

mathbrackets(&ret, c);

mathbrackets(&ret, d);

}int main()

括號匹配問題

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 基本演算法思...

括號匹配問題

假設表示式中包含三種括號 圓括號 方括號和花括號,它們可以相互巢狀,如 等均為正確的格式,而等為不正確的格式。以下為演算法程式 括號匹配問題 include include int main char ch while ch getchar eof count 0 break case if cou...

括號匹配問題

問題描述 假設表示式中允許包含兩種括號 圓括號與方括號,其巢狀的順序隨意。如 或 等為正確的匹配 而 或者 或者 均為錯誤的匹配。現要求編寫程式,判斷輸入的一行括號是否是匹配的,如果是匹配的,輸出yes,否則輸出no。解題思路 檢驗括號是否是匹配的方法可以用 期待的急迫程度 這個概念來描述。例如考慮...