输入一个字符串,统计其中数字字符的个数。

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入一个仅由字母和数字组成的字符串(长度不超过80)。
输入
2
ac520ac520
a1c2m3sdf
输出
6
3

参考代码:

#include <stdlib.h>
#include<string.h> 

int main()
{
    int n, i, j;
    scanf("%d", &n);
    for(i=0;i<n;i++){
        char str[20];
        int num = 0;
        scanf("%s", str);
        for(j=0;j<strlen(str);j++)
            if(str[j]>='0' && str[j]<='9')
                num ++;
        printf("%d\n", num);
    }
    return 0;
}

样例输入测试正确

可以先使用一个循环,获得这几个字符串,在在里面设置循环,遍历每个字符串,使用ASCII码判断它是不是数字


#include <stdio.h>
#include<string>
int main(){
    int t=0;
    char shuju[80];
    scanf("%d",&t);
    int results[t];
    for(int i=0;i<t;i++){
        scanf("%s",shuju);
        int sum=0;
        for(int j=0;j<strlen(shuju);j++){
            if('0'<=shuju[j] && shuju[j]<='9'){
                sum++;
            }
        }
        results[i]=sum;
    }
    for(int h=0;h<t;h++){
        printf("%d\n",results[h]);
    }
    
    return 0;
} 

img