代码如下:

#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 ;
}

样例输入和输出如下:

C语言实现括号配对问题的更多相关文章

  1. Num 15: NYOJ: 题目0002 : 括号配对问题 [ 栈(stack) ]

    原题连接      首先要了解有关栈的一些基本知识,即:      什么是栈,栈有什么作用:        1.什么是栈: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkb ...

  2. ACM:UESTC - 649 括号配对问题 - stack

      UESTC - 649  括号配对问题 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu ...

  3. 括号配对问题_栈<stack>

    问题 A: 括号配对问题 时间限制: 3 Sec  内存限制: 128 MB提交: 3  解决: 2[提交][状态][讨论版] 题目描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行 ...

  4. NYOJ之括号配对问题

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述     现在,有一行括号序列,请你检查这行括号是否配对. 输入     第一行输入一个数N(0<N&l ...

  5. ACM 括号配对问题

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=1 ...

  6. hdoj 2 括号配对问题【数组模拟实现+STL实现】

    栈遵循先进后出的原则 括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0 ...

  7. nyoj 2 括号配对问题

    括号配对问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0& ...

  8. 括号配对问题--nyoj-2(栈)

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=10 ...

  9. nyoj 2 括号配对问题 栈

    nyoj 2 括号配对问题 题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=2 思路: 栈:'(' '['入栈,遇到 ']' ')'出栈 ...

随机推荐

  1. DIV的变高与变宽

    代码: <!DOCTYPE HTML><html><head> <meta charset="utf-8"> <title&g ...

  2. Spring - IoC(12): 属性占位符

    使用属性占位符可以将 Spring 配置文件中的部分元数据放在属性文件中设置,这样可以将相似的配置(如 JDBC 的参数配置)放在特定的属性文件中,如果只需要修改这部分配置,则无需修改 Spring ...

  3. JHDU 2601 An easy problem (数学 )

    title: An easy problem 数学 杭电2601 tags: [数学] 题目链接 Problem Description When Teddy was a child , he was ...

  4. web前端 CSS基础

    简单的CSS文件 <style type="text/css"> a{ color:rebeccapurple; font-size: larger; font-wei ...

  5. python访问网站

    #!/usr/bin/env python # encoding: utf-8 from functools import wraps import requests from lxml import ...

  6. Java坦克大战 (三) 之可完全控制坦克朝八个方向运动

    本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学 ...

  7. golang的各种打印

    golang的打印方法太特么多了,下面就来区分一下之间的差异 package main import ( "fmt" "os" ) func main() { ...

  8. HDU-3555

    Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submi ...

  9. Laravel使用Carbon人性化显示时间

    1.下载Carbon composer require nesbot/carbon Laravel自带Carbon包,可以直接使用 use Carbon\Carbon; 2.如果数据库存的是日期格式, ...

  10. python带cookie提交表单自动登录

    import urllib import urllib2 import cookielib login_url = "xxxxxxxxxxxxx" cj = cookielib.C ...