2017

统计字符串中数字的个数

我选的scanf()函数感觉不好啊

但是跑了一下参考答案的程序 也不是很牛逼啊 输入一行得出一个答案 我的可以输入多行 得出多个答案

#include <stdio.h>

int main(void)
{
    int n,i,j;
    int a[100];
    while(scanf("%d",&n))
    {
        for(i = 0;i < n;i++)
        {
            char* str = (char*)malloc(sizeof(char)*100);
            char* p;
            scanf("%s",str);
            for(p = str,j = 0;*p != '';p++)
            {
                if(*p > '0' && *p < '9')
                    j++;
            }
            free(p);
            free(str);
            a[i] = j;
        }
        for(i = 0;i < n;i++)
            printf("%d
",a[i]);
    }
    return 0;
}

参考答案

#include <ctype.h>
#include <stdio.h>

int main(void)
{
    int n, d;
    char c;

    scanf("%d%*c", &n);
    while (n--)
    {
        for (d = 0 ; (c = getchar()) != '
' ;)
        {
            if (isdigit(c)) d++;
        }
        printf("%d
", d);
    }

    return 0;
}

  

========================if i have some wrong, please give me a message, thx.========================
原文地址:https://www.cnblogs.com/ailx10/p/5332096.html