题解 | #计算某字符出现次数#

计算某字符出现次数

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);
}

华为机考题库 文章被收录于专栏

华为机考题库

全部评论

相关推荐

02-23 19:27
门头沟学院 Java
点赞 评论 收藏
分享
秋招之BrianGriffin:你再跟他说华为工资也低(相对互联网)就可以享受私信爆炸了😋
点赞 评论 收藏
分享
02-16 10:35
已编辑
西安科技大学 golang
虚闻松声:整体应该挺好了 项目2-3个就够了。都类似第一段这么写。 构建数据闭环 推动工程创新 优化架构设计 免费修改简历,就业咨询,欢迎私信交流。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务