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

计算某字符出现次数

https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1

#include <stdio.h>
#include <ctype.h>
#include <string.h>

int CountCharNum(void);
int main() {
    int charcnt = 0;
    charcnt = CountCharNum();
    printf("%d",charcnt);
    return 0;
}


//一些可能的输入和结果
//Aaaa   a  4
//3 abc 333 3  1
//"hello Hi" h 2

//数据范围什么意思?字符串的长度吗
int CountCharNum(void)
{
    int charcnt = 0;
    char buf[1001] = {0};
    char ch = '\0';
    char ch2 = '\0';
    char *p = buf;
    //1--输入第一行,由字母、数组和空格组成(不能有其他)
    gets(buf);
    if(strlen(buf)==0)
    {
        return 0;
    }
    //2--输入第二行:一个字符,且保证该字符不为空格
    scanf("%c", &ch);
    if(ch == ' ')//参数检查,不为空格
    {
        return 0;
    }

    if(islower(ch))
    {
        ch2 = toupper(ch);
    }else if(isupper(ch))
    {
        ch2 = tolower(ch);
    }

    //3--返回不区分大小写的该字符个数
    if(isalpha(ch))
    {
        while(*p!= '\0')
        {
            if((*p == ch)||(*p == ch2))
            {
                charcnt++;
            }
            p++;
        }
    }
    else //is num
    {
        while(*p!= '\0')
        {
            if(*p == ch)
            {
                charcnt++;
            }
            p++;
        }
    }
    return charcnt;
}

全部评论

相关推荐

DKS233:(1)专业技能:Java8也太旧了,最少也要了解到JDK17吧,可以参考现在SpringBoot支持的Java最低版本,熟悉mysql基本理论具体指啥,是锁这种具体原理还是分库分表这些业务场景,spring这些专业词汇,大小写要写对(全篇简历都有这个问题,显得不严谨),熟悉使用框架进行业务开发就别写了,如果要写,起码要写到框架原理部分吧,比如aop,启动原理什么的,springcloud具体指哪些模块呢,写清楚,网关还是鉴权还是什么,“改造”没必要写吧,你直接说用springcloud开发的不就行了(2)项目经历:首先格式就有大问题,时间怎么能换行呢,调整一下,响应速度那个,如果指的是将部分数据从其他数据库转到redis的提升就别写了,因为这个不算难点,redis可以写写分布式这些,比如容灾怎么实现的,数据库同步怎么做的
点赞 评论 收藏
分享
07-09 20:50
门头沟学院 Java
码农索隆:1.教育背景和荣誉证书合二为一。 2.获奖项目理一遍,你做了什么,对你求职的岗位有什么帮助,没有就删掉。 3.技能特长和教育背景交换位置。 4.技能特长写的太差,上网上找简历参考。都不用问你别的,一个redis就能把你问住,写写你具体会redis哪些方面的知识。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务