注册 登录
编程论坛 C语言论坛

数字字符统计

丨丨 发布于 2018-12-12 10:40, 1327 次点击
题目描述
对于给定的一个字符串,统计其中数字字符出现的次数。字符串长度不超过1000.


输入
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。


输出
对于每个测试实例,输出该串中数值的个数,每个输出占一行。


样例输入
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf

样例输出
6
9



#include<stdio.h>

int main()
{
    int n,s=0;
    int i;
    char a;
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
    {
        s=0;
           while(scanf("%c",&a)&&a!='\n');
        {
        if(a>='0'&&a<='9') s++;
          }
           printf("%d\n",s);
    }


    return 0;
 }
不管输入什么,答案都是0,怎么回事??

6 回复
#2
rjsp2018-12-12 10:44
while(scanf("%c",&a)&&a!='\n'); 这里有个分号?
#3
丨丨2018-12-12 10:48
回复 2楼 rjsp
去掉之后还是不行
#4
kfyniriu2018-12-12 17:22
去掉分号之后,程序运行正常
程序代码:
#include<stdio.h>

int main()
{
    int n,s=0;
    int i;
    char a;
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
    {
        s=0;
           while(scanf("%c",&a)&&a!='\n')
                 if(a>='0'&&a<='9')
                     s++;
                printf("%d\n",s);
    }


    return 0;

 }

#5
丨丨2018-12-12 17:46
回复 4楼 kfyniriu
问一下,这句有什么用getchar();
#6
C基础2018-12-14 22:27
getchae()用于从键盘得到一个字符,相当于char c;scanf("%c",&c);
#7
丨丨2018-12-18 19:58
回复 6楼 C基础
不用先定义一个变量吗
1