C語言實現(xiàn)括號配對的方法示例
更新時間:2021年09月18日 16:20:45 作者:胡衛(wèi)雄
本文主要介紹了C語言實現(xiàn)括號配對的方法示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文主要介紹了C語言實現(xiàn)括號配對的方法示例,分享給大家,具體如下:
代碼如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
// 寫一個判斷的括號是否匹配的函數(shù)
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(){
// 提示輸入一個數(shù)
int N,i;
scanf("%d",&N);
int len;
// 對N組數(shù)據(jù)循環(huá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;
}
樣例輸入和輸出如下:


到此這篇關(guān)于C語言實現(xiàn)括號配對的方法示例的文章就介紹到這了,更多相關(guān)C語言括號配對內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解C語言中accept()函數(shù)和shutdown()函數(shù)的使用
這篇文章主要介紹了詳解C語言中accept()函數(shù)和shutdown()函數(shù)的使用,用來操作socket相關(guān)的網(wǎng)絡(luò)通信,需要的朋友可以參考下2015-09-09

