学习目标:
HJ2 计算某字符出现次数
学习内容:
描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:1≤n≤1000
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
学习产出:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i = -1;
char s[1024] = { 0 };
char c;
//获取输入
do{
i++;
scanf("%c", s + i);
} while (s[i]!='\n');//获取带空格的字符串
scanf("%c", &c);//获取要搜索的字母
//大写转小写
int j = 0;
for (j = 0; j < i; j++){
if (s[j] >= 'A'&&s[j] <= 'Z')
s[j] = s[j] + 32;
}
if (c >= 'A'&&c <= 'Z')
c = c + 32;
//搜索字母
char *p = NULL;
int times = 0;//字母出现次数
p = s;
while (p = strchr(p, c)){
p++;
times++;
}
printf("%d", times);
system("pause");
}
总结:
- 思路:先获取字符串,然后是要搜索的字母,接下来就是将所有的大写转换成小写,这样我们再去按照小写字母进行搜索就行了。
- ps:某位博主的代码,无意借用,侵权请告知,立删。