题解 | #计算某字符出现次数#
计算某字符出现次数
https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
方法一
一一匹配
#include <stdio.h>
#include<string.h>
int main(){
char str[1000];
char x;
gets(str);
x=getchar();
int k=0;
//printf("str: %s\n", str);
int l=strlen(str);
if(x>='a' && x<='z'){
for(int i=0;i<l;i++){
if(str[i]==x||(str[i]+32)==x)
k++;
}
}
else if(x>='A' && x<='Z'){
for(int i=0;i<l;i++){
if(str[i]==x||(str[i]-32)==x)
k++;
}
}
else{
for(int i=0;i<l;i++){
if(str[i]==x)
k++;
}
}
/*for(int i=0;i<l;i++){
if(str[i]==x||(str[i]-32)==x||(str[i]+32)==x)
k++;
}*/
printf("%d",k);
}
要注意字母的大小写,不同情况分类讨论
小写字母比大写字母大32。
方法二
使用tolower函数将字母都化为小写之后再匹配
#include <stdio.h>
#include<string.h>
int main(){
char str[1000];
char x;
gets(str);
x=getchar();
int k=0;
//printf("str: %s\n", str);
int l=strlen(str);
for(int i=0;i<l;i++){
if(tolower(str[i])==tolower(x))
k++;
}
printf("%d",k);
}
华为机考题库 文章被收录于专栏
华为机考题库
