| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2588 人关注过本帖
标题:这里的数字为什么总是错的,求解
只看楼主 加入收藏
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
这里的数字为什么总是错的,求解
图片附件: 游客没有浏览图片的权限,请 登录注册

这是叫我统计一行字符中的英文字母、数字、空格和其他字符的字数。
z表示字母,s表示数字,k表示空格,q表示其他字符。
为什么我的数字会被统计在其他字符里?
搜索更多相关主题的帖子: 数字 字符 空格 其他 表示 
2017-09-18 16:10
农民工
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:109
专家分:639
注 册:2015-8-22
收藏
得分:5 
if里加括号
if else 加大括号
2017-09-18 16:12
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:15 
给代码测试一下
2017-09-18 16:24
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
收藏
得分:0 
回复 3楼 吹水佬
#include<stdio.h>
int main()
{
    char c;
    int z=0,s=0,k=0,q=0;                          //z表示字母,s表示数字,k表示空格,q表示其他字符。
    printf("请输入:");
    c=getchar();
    while(c!='\n')
    {
        if(c>='a'&&c<='z'||c>='A'&&c<='Z')
                z++;
        else
            if(c==' ')
                k++;
            else
                if(c>=0&&c<=9)
                    s++;
                else q++;
        c=getchar();
    }
    printf("共有字母%d个\n共有数字%d个\n共有空格%d个\n共有其他字符%d个\n",z,s,k,q);
    return 0;
}
2017-09-18 16:25
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
收藏
得分:0 
回复 2楼 农民工
if后面只有一句。默认else和上面最近的if一起,不用括号应该是没问题的吧。
2017-09-18 16:29
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43182
注 册:2014-5-20
收藏
得分:0 
if(c>=0&&c<=9)
这句改:
if(c>='0'&&c<='9')

[此贴子已经被作者于2017-9-18 16:54编辑过]

2017-09-18 16:53
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
收藏
得分:0 
回复 6楼 吹水佬
谢了。那为什么这里一定要加单引号啊。不弄懂,感觉以后一定还会出这个错
2017-09-18 17:02
yu965634383
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:119
专家分:195
注 册:2017-9-1
收藏
得分:0 
加单引号表示是字符型数据

菜鸟一枚,求各位大神多多关照。
2017-09-18 20:20
pydlq
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:129
专家分:488
注 册:2017-9-5
收藏
得分:0 
回复 8楼 yu965634383
字符类型也是可以这样比大小的啊。没想到。
2017-09-19 08:08
shengtianpo
Rank: 1
等 级:新手上路
帖 子:9
专家分:5
注 册:2017-9-19
收藏
得分:0 
#include<stdio.h>
 int main()
 {
     char c;
     int z=0,s=0,k=0,q=0;                          //z表示字母,s表示数字,k表示空格,q表示其他字符。
    printf("请输入:");
     c=getchar();
     while(c!='\n')
     {
         if(c>='a'&&c<='z'||c>='A'&&c<='Z')
                 z++;
         else
             if(c==' ')
                 k++;
             else
                 if(c>=48&&c<=57)
                     s++;
                 else q++;
         c=getchar();
     }
     printf("共有字母%d个\n共有数字%d个\n共有空格%d个\n共有其他字符%d个\n",z,s,k,q);
     return 0;
 }
2017-09-19 12:27
快速回复:这里的数字为什么总是错的,求解
数据加载中...
 
   



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

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