题解 | #计算某字符出现次数#
计算某字符出现次数
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); }
华为机考题库 文章被收录于专栏
华为机考题库