本文主要介绍了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语言实现括号配对的方法示例


猜你喜欢
- ubuntu下C/C++获取剩余内存 2023-09-18
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- Easyx实现扫雷游戏 2023-02-06
- Qt计时器使用方法详解 2023-05-30
- C语言详解float类型在内存中的存储方式 2023-03-27
- C语言qsort()函数的使用方法详解 2023-04-26
- C++ 数据结构超详细讲解顺序表 2023-03-25
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- C语言手把手带你掌握带头双向循环链表 2023-04-03