对于给定的一个字符串,统计其中数字字符出现的次数

题目描述

对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。输出对于每个测试实例,输出该串中数值的个数,每个输出占一行。

测试说明

样例输入:

2

asdfasdf123123asdf

asdfasdf111111111asdfasdfasdf

样例输出:

6

9

源代码

#include <stdio.h>
#include <string.h>

int countNumbers(char* str) {
    int count = 0;
    int len = strlen(str);
    
    for (int i = 0; i < len; i++) {
        if (str[i] >= '0' && str[i] <= '9') { // 判断字符是否为数字
            count++;
        }
    }
    
    return count;
}

int main() {
    int n;
    scanf("%d", &n);
    getchar(); // 读取换行符
    
    for (int i = 0; i < n; i++) {
        char str[100];
        fgets(str, 100, stdin); // 读取字符串
        
        int numCount = countNumbers(str);
        printf("%d\n", numCount);
    }
    
    return 0;
}

在这个程序中,我们首先定义了一个countNumbers函数来统计字符串中数字字符的个数。函数接受一个字符串作为参数,使用strlen函数获取字符串的长度。

然后,我们使用一个循环遍历字符串的每个字符,如果字符的ASCII值在 '0''9' 的范围内,说明它是一个数字字符,将计数器加一。

main函数中,我们首先读取一个整数n,表示测试实例的个数。然后使用一个循环,读取每个测试实例的字符串。

我们使用fgets函数来读取字符串,而不是使用scanf,这是因为fgets可以读取包含空格的字符串,并且可以指定读取的最大长度(这里设定为100)。

接下来,我们调用countNumbers函数统计字符串中数字字符的个数,并将结果打印出来。

最后,返回0表示程序正常结束。

注意:此程序假设输入的字符串不会超过100个字符。如果需要处理更长的字符串,可以相应地增加数组的大小。另外,该程序没有进行错误处理和边界检查。在实际应用中,可能需要添加额外的逻辑以确保程序的稳定性和正确性。

运行截图

图片[1]-对于给定的一个字符串,统计其中数字字符出现的次数-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享