【C语言蓝桥杯每日一题】—— 单词分析

【C语言蓝桥杯每日一题】—— 单词分析😎


追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【蓝桥杯每日一题】—— 单词分析~这里利用了数组指针的方法知识, 都是精华内容,可不要错过哟!!!😍😍😍

单词分析🙌

题目描述
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。
输入描述
输入一行包含一个单词,单词只由小写英文字母组成。
对于所有的评测用例,输入的单词长度不超过 1000。
输出描述
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

在这里插入图片描述

解题思路分析: 😍

  • 首先认真读题,然后分析,寻找最优解。
  • 首先,我们先创建一个数组,其实就是一个用来统计26个字母出现次数的数组。让数组下标0~25 对应 a 到 z 。
  • 循环输入字母,出现一次就让对应的数组元素加1。 遇到回车键‘n’就停止。
    然后循环26次,将数组中的对应元素值(出现次数)进行比较。将max赋值为 i 。
  • 然后就可以输出对应最大出现次数和对应的字母啦。
  • 这里用到了Ascall码值和其对应关系相关知识,从而实现数字和字母的相加减的转化。

解题源码分享: 😍

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
  int count[26] = {0};
  int max = 0;
  char ch;
  while((ch = getchar()) != 'n')
  {
    count[ch -'a']++;
  }
  int i = 0;
  for(i = 1;i < 26; i++)
  {
    if(count[i] > count[max])
    max = i;
  }
  printf("%cn%d", max +'a',count[max]);
  return 0;
}

程序输出结果验证: 😊

在这里插入图片描述

总结撒花💞

   本篇文章旨在分享【C语言蓝桥杯每日一题】—— 单词分析。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>