| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3362 人关注过本帖
标题:成对出现括号的问题
取消只看楼主 加入收藏
zhangx378
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2016-9-29
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:4 
成对出现括号的问题
问题是“合法的括号”,及括号要成对出现,且要按照正确的顺序,例如:{}[](),{[]}()就是合法的,([),([)]就不对。
下面是我的代码,不过只能判断相邻成对出现的,例如{}()[]等,请问该怎么改?
#include<stdio.h>
#include<string.h>
int main()
{
    char ch[1000];
    int i=0,a=0;//a用来判断括号是否成对出现,若整个字符串中都成对,输出True。
    scanf("%s",ch);
    for(i=0;i<strlen(ch);i+=2)
    {
        if(ch[i]=='{')
        {
            if(ch[i+1]!='}')
            {
                printf("False\n");
                a=1;               
                break;
            }
        }
        else if(ch[i]=='[')
        {
            if(ch[i+1]!=']')
            {
                printf("False\n");
                a=1;
                break;
            }
        }
        else if(ch[i]=='(')
        {
            if(ch[i+1]!=')')
            {
                printf("False\n");
                a=1;
                break;
            }
        }
    }
    if(a==0)
    {
        printf("True\n");
    }
    return 0;
 }
2016-10-30 13:19
zhangx378
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2016-9-29
收藏
得分:0 
回复 3楼 bccn250
对啊,我已经意识到了,但不知道该怎么改。
2016-10-30 14:12
zhangx378
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2016-9-29
收藏
得分:0 
求各位解答。
2016-10-30 23:28
zhangx378
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2016-9-29
收藏
得分:0 
回复 7楼 word123
谢谢,可以运行,辛苦了,之前有大神提示用栈,主要是自己还没学到,再看了下很复杂,但您这么辛苦编程,我一定好好钻研,把这个搞清楚。
2016-10-31 00:04
zhangx378
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2016-9-29
收藏
得分:0 
回复 9楼 rjsp
谢谢,已经解决。
2016-10-31 22:09
快速回复:成对出现括号的问题
数据加载中...
 
   



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

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