這篇文章將為大家詳細講解有關C語言如何實現括號配對,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
代碼如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
// 寫一個判斷的括號是否匹配的函數
int MatchCheck(char a[],int len){
int flag = 0;
char s[10000];
int top,i;
char temp;
// 初始化一個棧
top = 0;
for(i=0;i<len;i++){
if(a[i]=='['){ // 如果是左括號直接入棧
s[++top]=a[i];
continue;
}
if(a[i]==']'){ // 如果是右括號,則嘗試匹配
temp = s[top];
if(temp=='['){
flag = 1;
top--;
continue;
}else{
flag = 0;
break;
}
}
if(a[i]=='('){ // 如果是左括號直接入棧
s[++top]=a[i];
continue;
}
if(a[i]==')'){ // 如果是右括號,則嘗試匹配
temp = s[top];
if(temp=='('){
flag = 1;
top--;
continue;
}else{
flag = 0;
break;
}
}
}
if(flag&&(top==0)){
return 1;
}else{
return 0;
}
}
int main(){
// 提示輸入一個數
int N,i;
scanf("%d",&N);
int len;
// 對N組數據循環判斷
int count = 1;
int result[5];
while(count<=N){
char a[10000]={'\0'};
// 讀入一行字符串
scanf("%s",&a);
// 求字符串的長度
len = strlen(a);
result[count]=MatchCheck(a,len);
count++;
}
for(i=1;i<count;i++){
if(result[i]){
printf("Yes\n");
}else{
printf("No\n");
}
}
return 0;
}樣例輸入和輸出如下:


關于“C語言如何實現括號配對”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。