如何开发网站平台开发,那些是flash做的网站,农产品网站开发背景,河南最新新闻事件15条题目描述
小蓝正在学习一门神奇的语言#xff0c;这门语言中的单词都是由小写英文字母组 成#xff0c;有些单词很长#xff0c;远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词#xff0c;他准备不再完全记忆这些单词#xff0c;而是根据单词中哪个字母出…
题目描述
小蓝正在学习一门神奇的语言这门语言中的单词都是由小写英文字母组 成有些单词很长远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词他准备不再完全记忆这些单词而是根据单词中哪个字母出现得最多来分辨单词。
现在请你帮助小蓝给了一个单词后帮助他找到出现最多的字母和这 个字母出现的次数。
输入描述
输入一行包含一个单词单词只由小写英文字母组成。
对于所有的评测用例输入的单词长度不超过 1000。
输出描述
输出两行第一行包含一个英文字母表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等输出字典序最小的那个。
第二行包含一个整数表示出现得最多的那个字母在单词中出现的次数。
输入输出样例
示例 1 输入 lanqiao输出 a
2示例 2 输入 longlonglongistoolong输出 o
6运行限制
最大运行时间1s最大运行内存: 256M
总通过次数: 67945 | 总提交次数: 78526 | 通过率: 86.5%
难度: 中等 标签: 2020, 字符串, 暴力, 省赛 解题思路
#includeiostream
#includestring
using namespace std;
int main()
{char s[1001],b;cins;int a[26]{0},max0;for(int i0;s[i]!\0;i){a[s[i]-a];}for(int i0;i26;i){if(maxa[i]){maxa[i];bai;}}coutbendlmax;return 0;
} 注意事项 关注字符串的输入、输输出定义字符串并且学会使用 a[s[i]-a];记录26个英文字母的个数使用bai;将数字转换为对应的字母。还要掌握遍历字符串的方法 输入部分获取用户输入的字符串 char s[1001], b;
cins;这部分代码用于获取输入的字符串。 统计字母出现次数 int a[26] {0}, max 0;
for(int i 0; s[i] ! \0; i)
{a[s[i]-a];
}这部分代码通过循环遍历字符串中的每个字符将每个字符转换为对应的小写字母的索引值并将相应的计数器a[]进行加一操作。 找出出现次数最多的字母 for(int i 0; i 26; i)
{if(max a[i]){max a[i];b a i;}
}这部分代码遍历a[]数组找到出现次数最多的字母并将其存储在变量b中。 输出结果 coutbendlmax;这部分代码输出出现次数最多的字母b以及其出现次数max。 遍历字符串的方法;
在 C 中你可以使用不同的方法来遍历字符串。以下是一些常见的方法
使用下标访问字符
#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 i0;s[i]!\0;i){a[s[i]-a];} 使用迭代器
#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;
}使用 range-based for 循环C11 及以上版本
#include iostream
#include string
using namespace std;int main() {string str WeTab;for (char ch : str) {cout ch ;}cout endl;return 0;
}无论你选择哪种方法遍历字符串的基本原理都是一样的逐个访问字符串中的字符并对其进行处理。