标题:关于字符 ascii码使用的问题一直不明白 (CodeBlocks)
只看楼主
MuMuLee
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2016-1-16
结帖率:84.21%
已结贴  问题点数:20 回复次数:5 
关于字符 ascii码使用的问题一直不明白 (CodeBlocks)
关于字符 ascii码使用的问题一直不明白

如题:一个由字母和数字组成的字符串,字符串的长度小于等于100,输出该串中数值的个数。

这是我的程序:CodeBlocks编译器
#include <stdio.h>
#include <stdlib.h>
int main()
{
   int i,n;
   scanf("%d",&n);
   for(i=1;i<=n;i++)
   {
       char c;
       int a=0;
       while(scanf("%c",&c)!='\n')     //不知道这里应该写'\n'还是'10'还是其他什么
       {
           if(c>=48&&c<=57)            //不知道这里的c和48 都用不用加单引号
            a++;
           scanf("%c",&c);
       }
       printf("%d",a);

   }
    return 0;
}

另 现在这个程序是不能运行的
搜索更多相关主题的帖子: include 编译器 单引号 字符串 
2016-02-14 21:00
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:3 
在C/C++中字符和數字可以混用

授人以渔,不授人以鱼。
2016-02-14 21:44
一辈子的承诺
Rank: 2
等 级:论坛游民
帖 子:3
专家分:10
注 册:2016-2-14
得分:10 
你的问题在VC中可以这样打
#include<stdio.h>
int main()
{
    int i,n;
    char a[100];
    while(gets(a))
    {
        n=0;
        for(i=0;a[i]!='\0';i++)
        {
            if(a[i]>=48&&a[i]<=57)//你说的这个48和57不用加引号,如果写成0和9的话要加引号,这个的话两个编译器里面的应该会是一样的
                n++;
        }
        printf("%d\n",n);
    }
    return 0;
}
可是你上面打的代码我有点看不懂,不好意思啊
2016-02-14 23:21
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
得分:3 
找出0-9的assic码,在这之间的是数字其他不是

一片落叶掉进了回忆的流年。
2016-02-15 10:58
MuMuLee
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2016-1-16
得分:0 
回复 3楼 一辈子的承诺
谢谢亲 你的我看懂了

有个问题 a[i]!='\0'   这句里的'\0'代表什么?

       写i!='\n'   也能运行出来正确结果。
2016-02-16 22:34
foxeer
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:107
专家分:136
注 册:2015-12-29
得分:4 
回复 5楼 MuMuLee
\0代表数组字符串终止标志
2016-02-17 17:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-461698-1-1.html




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

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