day-2 算法题:字符串含有某个字符的个数

53 阅读1分钟

题目描述

写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母) 

输入描述:

数据范围: 1 <= n<=1000 计算某字符出现次数。

第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)

输出描述:

输出输入字符串汇总含有该字符的个数,不区分大小写字母。

思路描述:

将输入的字符串和字符都转换为小写,以便不区分大小写。然后遍历字符串中的每个字符,并检查它是否与给定的字符匹配。如果匹配,则计数器加1。最后,输出计数器的值。

我的代码:

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

//day-2 计算字符出现次数
#define MaxLength 1000
int count_char(char *string, char c) {
    //将字符转换为小写
    c = tolower(c);
    //初始化计数器
    int count = 0;
    //遍历字符串中的每个字符
    for (int i = 0 ; i < strlen(string) ; i++) {
        if (tolower(string[i]) == c)
        {
            count++;    //如果字符匹配,则增加计数器
        }
    }
    return count;
}

int main() {
    char string[MaxLength];
    char c;
    //输入被查询的字符串
    fgets(string, MaxLength,stdin);
    //输入要查询的字符
    scanf("%c",&c);
    printf("%d\n", count_char(string, c));
    return 0;
}

输入结果:

222.png