题目描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
输入描述:
数据范围: 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;
}