统计一个字符串中的数字字符个数

统计一个长度小于80的字符串中的数字字符个数
第一行为测试数据的组数,从第二刚开始为每行为一个字符串

共t行,表示统计结果

#include <stdio.h>
#include <string.h>
int main()
{
    char str[256][80];
    int i, j, n, cnt = 0;
    scanf("%d", &n);
    getchar();
    for (i = 0; i < n; i++)
    {
        gets(str[i]);
    }
    for (i = 0; i < n; i++)
    {
        cnt = 0;
        for (j = 0; j < strlen(str[i]); j++)
        {
            if (str[i][j] >= '0' && str[i][j] <= '9')
            {
                cnt++;
            }
        }
        printf("%d\n", cnt);
    }
    return 0;
}
#include <stdio.h>
#include <ctype.h>

int main()
{
    char a[80];
    int t;
    scanf("%d", &t);
    for (int i = 0; i < t; i++)
    {
        scanf("%s", a);
        int count = 0;
        const char *p = a;
        while (*p)
        {
            if (isdigit(*p))
                count++;
            p++;
        }
        printf("%d\n", count);
    }
    return 0;
}

img

#include <stdio.h>
#include <string.h>
int cs(char c[])
{
    int n=strlen(c);
    int j;
    int count=0;
    for(j=0;j<n;j++)
    {
        if(c[j]<='9'&&c[j]>='0')
        {
            count++;
        }
    }
    return count;
}

int main()
{
    char c[80][80];
    int t,j,k,h;
    scanf("%d",&t);
    getchar();
    for(j=0;j<t;j++)
    {
        gets(c[j]);
    }
    int jl[80];
    for(j=0;j<t;j++)
    {
        jl[j]=cs(c[j]);
    }
    for(j=0;j<t;j++)
    {
        printf("%d\n",jl[j]);
    }
    
    return 0;
}