代码如下:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
// 写一个判断的括号是否匹配的函数
int MatchCheck(char a[],int len){
int flag = ;
char s[];
int top,i;
char temp;
// 初始化一个栈
top = ;
for(i=;i<len;i++){
if(a[i]=='['){ // 如果是左括号直接入栈
s[++top]=a[i];
continue;
}
if(a[i]==']'){ // 如果是右括号,则尝试匹配
temp = s[top];
if(temp=='['){
flag = ;
top--;
continue;
}else{
flag = ;
break;
}
} if(a[i]=='('){ // 如果是左括号直接入栈
s[++top]=a[i];
continue;
}
if(a[i]==')'){ // 如果是右括号,则尝试匹配
temp = s[top];
if(temp=='('){
flag = ;
top--;
continue;
}else{
flag = ;
break;
}
}
}
if(flag&&(top==)){
return ;
}else{
return ;
} }
int main(){
// 提示输入一个数
int N,i;
scanf("%d",&N);
int len;
// 对N组数据循环判断
int count = ;
int result[];
while(count<=N){
char a[]={'\0'};
// 读入一行字符串
scanf("%s",&a);
// 求字符串的长度
len = strlen(a);
result[count]=MatchCheck(a,len);
count++;
}
for(i=;i<count;i++){
if(result[i]){
printf("Yes\n");
}else{
printf("No\n");
}
}
return ;
}

样例输入和输出如下:

最新文章

  1. C#记录程序运行时间记录显示
  2. 日志插件 log4net 的使用
  3. android 比较完善json请求格式
  4. 初学java之菜单条,菜单,菜单项的设置
  5. Django session 详解-part II-session
  6. Oracle 10进制转36进制
  7. [UNIX环境高级编程](第三版)中apue.h的问题
  8. Sea.js
  9. [HMLY]10.iOS中block的基础用法
  10. Android 应用内多语言切换
  11. Asp.Net Core 轻松学-多线程之取消令牌
  12. 经过N条边的最短路
  13. [Sw] 使用 Swoole Server task/协程 处理大数据量异步任务时注意
  14. ci test
  15. redhat vi 命令
  16. MFC的组合框(ComboBox)控件切换下拉样式
  17. 零基础学python之构建web应用(入门级)
  18. 降雨量 HYSBZ - 1067(RMQ)
  19. Struts2页面配置和访问servlet API
  20. python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学

热门文章

  1. 一串跟随鼠标的DIV
  2. bzoj 1692: [Usaco2007 Dec]队列变换 ——二分+hash
  3. vueJS 一天上手到精通
  4. 河南省第十届省赛 Binary to Prime
  5. bzoj 2151 贪心
  6. bzoj 2330 SCOI2011糖果 查分约束系统
  7. 如何完全禁用或卸载Windows 10中的OneDrive
  8. Linux执行shell脚本方式及区别&amp;命令后台运行
  9. 关于ES6(ES2015)开发记坑
  10. docker从零开始网络(五)null网络