| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:帮我看看这个程序呗!我看不懂~~谢谢了
只看楼主 加入收藏
KekeDOUer
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-3-24
收藏
 问题点数:0 回复次数:5 
帮我看看这个程序呗!我看不懂~~谢谢了
编函数,判断给定字符序列中 ( 与 ) , [ 与 ] , { 与 } 是否配对(个数相等)。

#include "stdio.h"
bool want(){
    int x=0,y=0,z=0;
    char ch;
    do{
        ch=getchar();
        switch(ch){
            case'{':x++;
                    break;
            case'}':x--;
                    break;
            case'[':y++;
                    break;
            case']':y--;
                    break;
            case'(':z++;
                    break;
            case')':z--;
                    break;
        }        
    }while(ch!='\r'&&ch!='\n');
    if(x!=0||y!=0||z!=0){
        if(x!=0)    printf("{ is wrong!\n");
        if(y!=0)    printf("[ is wrong!\n");
        if(z!=0)    printf("( is wrong!\n");
        return false;
    }
    else
        return true;
}
void main(){
    want();
}
为什么不等于零就没有啊?!!!老师说我也没弄明白!
搜索更多相关主题的帖子: break case wrong 
2008-03-24 22:09
Free自然
Rank: 1
等 级:新手上路
帖 子:23
专家分:3
注 册:2008-3-23
收藏
得分:0 
这个程序,比如单说(和)吧,其他那两种括号可以类推。
在while循环里,
当输入遇到(时,z就加1。有多少个(,z就加了多少次1;
当输入遇到)时,z就减1。有多少个),z就减了多少次1。这样加1次数和减1次数如果相等,也就是z等于0时,(与)的个数相同。
其实你可以自己举个例子,然后顺着慢慢来。
2008-03-24 22:29
hyq1122
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-3-24
收藏
得分:0 
只是一个保证括号配对的例子
很巧妙,道理也简单,只是保证在有左括号的时候,保证有相等数量的右括号和其配对,X,Y,Z分别代表三种括号的数量,通过上面的计算,只要这三个变量是0,则说明左、右括号数目是相等的。
2008-03-24 23:55
KekeDOUer
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-3-24
收藏
得分:0 
明白了~~~~~
我晓得了~~谢谢了!!
2008-03-29 09:24
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
回复 1# 的帖子
有一个重要的问题。只数个数的话
)))(((之类的括号也会认为是匹配的

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2008-03-29 11:06
loma200
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-3-6
收藏
得分:0 
看懂一点 小弟初学 呵呵
2008-03-30 14:09
快速回复:帮我看看这个程序呗!我看不懂~~谢谢了
数据加载中...
 
   



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

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