蓝桥杯C/C++程序设计——单词分析

题目描述

小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。

现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。

输入描述

输入一行包含一个单词,单词只由小写英文字母组成。

对于所有的评测用例,输入的单词长度不超过 1000。

输出描述

输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。

第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

输入输出样例

示例 1

输入

lanqiao

输出

a
2

示例 2

输入

longlonglongistoolong

输出

o
6

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

总通过次数: 67945  |  总提交次数: 78526  |  通过率: 86.5%

难度: 中等   标签: 2020, 字符串, 暴力, 省赛

解题思路:

#include<iostream>
#include<string>
using namespace std;
int main()
{char s[1001],b;cin>>s;int a[26]={0},max=0;for(int i=0;s[i]!='\0';i++){a[s[i]-'a']++;}for(int i=0;i<26;i++){if(max<a[i]){max=a[i];b='a'+i;}}cout<<b<<endl<<max;return 0;
}

 

 注意事项:

        关注字符串的输入、输输出,定义字符串,并且学会使用 a[s[i]-'a']++;记录26个英文字母的个数,使用b='a'+i;将数字转换为对应的字母。还要掌握遍历字符串的方法;

  1. 输入部分:获取用户输入的字符串

    char s[1001], b;
    cin>>s;
    

    这部分代码用于获取输入的字符串。

  2. 统计字母出现次数:

    int a[26] = {0}, max = 0;
    for(int i = 0; s[i] != '\0'; i++)
    {a[s[i]-'a']++;
    }
    

    这部分代码通过循环遍历字符串中的每个字符,将每个字符转换为对应的(小写)字母的索引值,并将相应的计数器a[]进行加一操作。

  3. 找出出现次数最多的字母:

    for(int i = 0; i < 26; i++)
    {if(max < a[i]){max = a[i];b = 'a' + i;}
    }
    

    这部分代码遍历a[]数组,找到出现次数最多的字母,并将其存储在变量b中。

  4. 输出结果:

    cout<<b<<endl<<max;
    

    这部分代码输出出现次数最多的字母b以及其出现次数max。

 遍历字符串的方法;

在 C++ 中,你可以使用不同的方法来遍历字符串。以下是一些常见的方法:

  1. 使用下标访问字符:
#include <iostream>
#include <string>
using namespace std;int main() {string str = "Hello";for (int i = 0; i < str.length(); i++) {cout << str[i] << " ";}cout << endl;return 0;
}

 

for(int i=0;s[i]!='\0';i++){a[s[i]-'a']++;}

  1. 使用迭代器:
#include <iostream>
#include <string>
using namespace std;int main() {string str = "World";for (auto it = str.begin(); it != str.end(); it++) {cout << *it << " ";}cout << endl;return 0;
}

  1. 使用 range-based for 循环(C++11 及以上版本):
#include <iostream>
#include <string>
using namespace std;int main() {string str = "WeTab";for (char ch : str) {cout << ch << " ";}cout << endl;return 0;
}

无论你选择哪种方法,遍历字符串的基本原理都是一样的:逐个访问字符串中的字符,并对其进行处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytest 项目结合Jenkins

一、window安装centos7虚拟机 参考网上其他教程 二、Linux安装Jenkins 进入jenkins.io网址&#xff0c;点击download&#xff0c;选择CentOS版本 1、Linux中安装java环境和git Jenkins的运行需要java环境&#xff1b;安装git是为代码上传给仓库做准备&#xff1b; yum - y…

C语言-环境搭建

文章目录 内容Notepad的安装gcc编译工具的配置 编写软件的安装&#xff1a;软件传送门&#xff1a;Notepad软件选择一个合适的路径&#xff0c;一键傻瓜式安装即可 编译工具gcc在windows环境下的配置&#xff1a;解压gcc编辑工具包解压出来的mingw64文件放到一个合适的磁盘路径…

15. 附录

15. 附录 15.1. 交互模式 15.1.1. 错误处理 有错误发生时&#xff0c;解释器会打印一个错误信息和栈跟踪器。在交互模式下&#xff0c;它返回主提示符&#xff0c;如果从文件输入执行&#xff0c;它在打印栈跟踪器后以非零状态退出。(异常可以由 try 语句中的 except 子句来…

华为HCIE-Datacom课程介绍

厦门微思网络HCIE-Datacom课程介绍 一、认证简介 HCIE-Datacom&#xff08;Huawei Certified ICT Expert-Datacom&#xff09;认证是华为认证体系中的顶级认证&#xff0c;HCIE-Datacom认证定位具备坚实的企业网络跨场景融合解决方案理论知识&#xff0c;能够使用华为数通产品…

副业类小报童热门专栏TOP15

今天介绍15个副业小报童&#xff0c;可以说是当前小报童平台&#xff0c;副业类专栏的天花板内容了 这些专栏&#xff0c;都有免费内容可以查看&#xff0c;而且还是3天无理由退款的&#xff0c;完全可以尝试着订阅一波 关键单价都非常亲民&#xff0c;怎么都不亏&#xff01…

安装与部署Hadoop

一、前置安装准备1、机器2、java3、创建hadoop用户 二、安装Hadoop三、环境配置1、workers2、hadoop-env.sh3、core-site.xml4、hdfs-site.xml5、linux中Hadoop环境变量 四、启动hadoop五、验证 一、前置安装准备 1、机器 主机名ip服务node1192.168.233.100NameNode、DataNod…

洛谷——P3879 [TJOI2010] 阅读理解(STL:hash+set,c++)

文章目录 一、题目[TJOI2010] 阅读理解题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 二、题解基本思路&#xff1a;代码 一、题目 [TJOI2010] 阅读理解 题目描述 英语老师留了 N N N 篇阅读理解作业&#xff0c;但是每篇英文短文都有很多生词需要查字典&am…

ubuntu图形化登录默认只有guest session账号解决方法

新安装的ubuntu16.x 图形化界面登录默认只有guest账号&#xff0c;只有进入guest账号之后再去手动切换root账号很麻烦&#xff0c;但是这样确实很安全。为了方便希望能够在登录图形化界面的时候以root身份/或者自定义其他身份登录。做一下简单的记录。 使用终端命令行编辑文件…

最新m2 cocoapods 安装

0. 如果出错可以删除 进 在/Users/电脑名称/目录下 cd ~/ 显示隐藏文件&#xff0c; 删除 .cocoapods文件夹&#xff1b; 删除 .rvm文件夹&#xff1b; 1. 换源​ sudo gem sources --remove [https://rubygems.org/](https://rubygems.org/)​ sudo gem sources --add [http…

工智能基础知识总结--什么是CRF

什么是CRF CRF是给定随机变量X的条件下,随机变量Y的马尔科夫随机场(概率无向图)。 这里主要介绍在线性链上的特殊的条件随机场,称为线性链条件随机场,可用于序列标注等问题。 线性链条件随机场如下图所示,输出变量仅与输入变量以及相邻输出变量有连线。 CRF的参数化表示…

【并发设计模式】聊聊Balking是如何实现以及具体原理

前面的等待唤醒&#xff0c;其实是一个线程等待执行满足条件的逻辑&#xff0c;会一直死等&#xff0c;但是并不是全部的场景都需要死等。比如我们去坐车的时候&#xff0c;公交一直没来&#xff0c;那么就可以不去了。而等待唤醒是公交没来我就等他来了再去。 Guarded Suspen…

【网络安全】有趣的基础知识

背景 逐条记录网络安全学习中有趣的内容和知识。 内容 CNNIC&#xff08;中国互联网络信息中心&#xff09;是中国国家域名.cn的管理组织。中国互联网络信息中心于1997年6月3日组建&#xff0c;现为工业和信息化部 直属事业单位 &#xff0c;行使国家互联网络信息中心职责。…

政务大数据能力平台建设方案:文件全文30页,附下载

关键词&#xff1a;智慧政务解决方案&#xff0c;智慧政务建设&#xff0c;智慧政务服务平台&#xff0c;智慧政务大数据&#xff0c;数字政务一体化平台。大数据&#xff0c;政务大数据建设 一、智慧政务建设需求 1、政务服务需求&#xff1a;智慧政务建设需要满足人民群众的…

详解Vue3中的鼠标事件click和dblclick

本文主要介绍Vue3中的常见鼠标事件。 目录 一、click——单击事件二、dblclick——双击事件三、在使用click和dbclick需要注意的地方 下面是Vue 3中常用的鼠标事件&#xff1a; 一、click——单击事件 click事件是一种常见的事件类型&#xff0c;用于在用户点击某个元素时触发…

threadLocal获取当前登录用户id

BaseContext ThreadLocal 并不是一个Thread&#xff0c;而是Thread的局部变量。 ThreadLocal为每个线程提供单独一份存储空间&#xff0c;具有线程隔离的效果&#xff0c;只有在线程内才能获取到对应的值&#xff0c;线程外则不能访问。 public void set(T value) 设置当前线程…

MFC扩展库BCGControlBar Pro v34.0 - 仪表盘控件全面升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v34.0已正式发布了&#xff0c;该版本包括新的主题任务对话框、图像效果、旋转圆形刻度、…

2023 年四川省职业院校技能大赛“信息安全管理与评估”样题

2023 年四川省职业院校技能大赛&#xff08;高等职业教育&#xff09; “信息安全管理与评估”样题 竞赛需要完成三个阶段的任务&#xff0c;分别完成三个模块&#xff0c;总分共计 1000分。三个模块内容和分值分别是&#xff1a; 第一阶段&#xff1a;模块一 网络平台搭建与设…

VitulBox中Ubuntu虚拟机安装JAVA环境——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项

前言 在进行之后操作是请下载好JDK&#xff0c;之后的内容是以Ubuntu虚拟机中安装java环境续写。 提示&#xff1a;以下操作是在虚拟机hadoop用户下操作的&#xff0c;并为安装java环境作准备 一、更新APT 为了确保Hadoop安装过程顺利进行&#xff0c;建议用hadoop用户登录…

python统计分析——协方差和pearson相关系数

参考资料&#xff1a;用python动手学统计学 使用数据见代码&#xff1a; dic{"x":[18.5,18.7,19.1,19.7,21.5,21.7,21.8,22.0,23.4,23.8],"y":[34,39,41,38,45,41,52,44,44,49] } cov_datapd.DataFrame(dic) 变量x、y的协方差Cov(x,y)的计算公式如下&am…

【Redis-10】Redis集群的实现原理和实践

Redis集群是Redis提供的分布式数据库方案&#xff0c;通过分片来进行数据共享&#xff0c;实现复制和故障转移的功能。 1. Redis集群节点 一个Redis集群由多个节点组成&#xff0c;多个节点可以通过命令实现连接&#xff0c;由独立状态转为集群状态&#xff0c;命令是cluster …