括號匹配問題

2021-09-16 12:08:14 字數 1238 閱讀 2814

1.數字字元不處理;

2.左括號:入棧;

3.右括號:匹配--->出棧;

不匹配--->與左括號不是同型別;沒有左括號棧為空;

4.序列讀完仍有等待匹配的括號--->不匹配;

time limit: 1000 ms memory limit: 65536 kib

submit

statistic

problem description

給你一串字元,不超過50個字元,可能包括括號、數字、字母、標點符號、空格,你的任務是檢查這一串字元中的( ) ,[ ],是否匹配。

input

輸入資料有多組,處理到檔案結束。

output

如果匹配就輸出「yes」,不匹配輸出「no」

sample input

sin(20+10)

]

sample output

yes

no

#include #include #include struct  stack

*s;int match(char b,char a)

') return 1;

if(a=='['&&b==']') return 1;

else return 0;

}void init (struct stack *s)

void push(struct stack *s, char c)

void pop(struct stack *s)

int main()

case ']':

case '}':

case ')':

if(s->top==0)

else

else}}

}if(s->top==0&&flag==0) printf("yes\n");

else printf("no\n");

}return 0;

}

#include #include #include int main()

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

'&&c[u]=='

else break;}}

if(u==0&&s[i]=='\0') printf("yes\n");

else printf("no\n");

}return 0;

}

括號匹配問題

時間限制 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。解題思路 檢驗括號是否是匹配的方法可以用 期待的急迫程度 這個概念來描述。例如考慮...