| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1275 人关注过本帖
标题:新人《c语言括号配对问题》 答案正确 当过oj总是runtime error
取消只看楼主 加入收藏
凉粉呵呵
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2013-2-10
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:1 
新人《c语言括号配对问题》 答案正确 当过oj总是runtime error
括号配对问题
时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
现在,有一行括号序列,请你检查这行括号是否配对。
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
输出
每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
样例输入
3
[(])
(])
([[]()])
样例输出
No
No
Yes



源代码:

#include<stdio.h>
int main()
{
    int count,i,j,n,sum1,sum2;
    char a[10][1000];
    scanf("%d",&count);
    for(i=0;i<=count;i++)
    {
        j=0;
        while((a[i][j]=getchar())!='\n')
            j++;
        a[i][j]='\0';
    }
    for(i=1;i<=count;i++)
    {    j=n=sum1=sum2=0;
        while(a[i][j]!='\0')
        {
            if(((a[i][j]=='(')&&(a[i][j+1]==']'))||((a[i][j]=='[')&&(a[i][j+1]==')')))
            {
                n=1;
                break;
            }
            else if(a[i][j]=='(')
                sum1++;
            else if(a[i][j]==')')
                sum1--;
            else if(a[i][j]=='[')
                sum2++;
            else if(a[i][j]==']')
                sum2--;
            j++;
        }
        if((sum1==0)&&(sum2==0)&&(n==0))
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}
搜索更多相关主题的帖子: 配对 字符串 
2013-02-10 23:26
凉粉呵呵
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2013-2-10
收藏
得分:0 
ls  蟹蟹   数组开大了一点 还有加了判断sum1或者sum2是否小于0  就可以通过了   会不会是提交到一定数量   于心不忍就过了   呵呵
2013-02-11 10:58
快速回复:新人《c语言括号配对问题》 答案正确 当过oj总是runtime error
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020956 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved