本文主要介绍了C语言实现括号配对的方法示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文主要介绍了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语言实现括号配对的方法示例的文章就介绍到这了,更多相关C语言括号配对内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
织梦狗教程
本文标题为:C语言实现括号配对的方法示例


基础教程推荐
猜你喜欢
- 带你深度走入C语言取整以及4种函数 2022-09-17
- C语言实现宾馆管理系统课程设计 2023-03-13
- centos 7 vscode cmake 编译c++工程 2023-09-17
- C++实战之二进制数据处理与封装 2023-05-29
- C++实现ETW进行进程变动监控详解 2023-05-15
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- [C语言]二叉搜索树 2023-09-07
- C语言 详解字符串基础 2023-03-27
- [c语言-函数]不定量参数 2023-09-08
- 全面了解C语言 static 关键字 2023-03-26