| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:帮我看下这段代码有何错误?
只看楼主 加入收藏
cwde
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-3-31
结帖率:33.33%
收藏
 问题点数:0 回复次数:3 
帮我看下这段代码有何错误?
题目是这样的;有一篇文章,共有3行文字,每行有8个字符,要求分别统计出每行的英文大写字母,数字,空格,与其他字符.
我的代码是
#include <stdio.h>
void main()
{
    char a[3][8];
    int m=0,n=0,x=0,y=0,z=0,i,j;
    for(i=0;i<3;i++)
        for(j=0;j<8;j++)
            scanf("%c",&a[i][j]);
        for(i=0;i<3;i++)
        for(j=0;j<8;j++)
        {
            if (a[i][j]>='A'&&a[i][j]<='Z')
                m++;
            if (a[i][j]>='a'&&a[i][j]<='z')
                n++;
            if (a[i][j]>='0'&&a[i][j]<='9')
                x++;
            if (a[i][j]==' ')
                y++;
            else
                z++;}
        printf("%d,%d,%d,%d,%d",m,n,x,y,z);}

运行以后,其中大小字母,数字空格都能正常统计,但是"其他字符"的统计z,即使没有输入过其他字符,z的值也会增加,这是为什么呀?各位高手看看

搜索更多相关主题的帖子: 英文 文章 统计 
2011-04-23 13:48
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
if ...
else if ...
else if ...
else ...

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-23 14:01
cwde
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2011-3-31
收藏
得分:0 
谢谢啊~
2011-04-23 14:05
懂也不懂
Rank: 4
等 级:业余侠客
威 望:2
帖 子:73
专家分:224
注 册:2010-12-1
收藏
得分:0 
嘿嘿,你分析一下,按你的代码,如果有一个字符是大写字符,那么他就m++,下面两个if不成立,不执行,当到最后一个if时发现也不成立,就不成立if里面的代码,而执行else里面的了,当然其他两个if也是一样的道理,自然最后Z就不是你要的结果,可以把if...if换成if ...else if....else..,祝你好运!
2011-04-23 14:06
快速回复:帮我看下这段代码有何错误?
数据加载中...
 
   



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

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