小民同学所在的班级有n名同学,这n名同学的姓名都是由小写英文字母组成的,这些同学的姓名中包含空格。现在小民想知道这n名同学的姓名中a-z哪个英文字母出现最多,其出现次数是多少?
时间: 2023-04-28 20:00:17 浏览: 214
中小民企财会管理状况.doc
可以通过遍历每个同学的姓名,统计每个英文字母出现的次数,最后找出出现次数最多的字母即可。具体步骤如下:
1. 定义一个长度为26的数组,用来存储每个英文字母出现的次数,初始值都为。
2. 遍历每个同学的姓名,对于每个字符,判断是否为小写英文字母,如果是,则将对应的数组元素加1。
3. 遍历数组,找出出现次数最多的字母及其出现次数。
4. 输出结果。
代码示例:
```
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n;
cin >> n; // 输入同学的数量
int cnt[26] = {}; // 存储每个字母出现的次数
for (int i = ; i < n; i++) {
string name;
getline(cin, name); // 输入同学的姓名,包含空格
for (int j = ; j < name.length(); j++) {
if (name[j] >= 'a' && name[j] <= 'z') {
cnt[name[j] - 'a']++; // 对应字母出现次数加1
}
}
}
int max_cnt = ; // 出现次数最多的字母的出现次数
char max_char; // 出现次数最多的字母
for (int i = ; i < 26; i++) {
if (cnt[i] > max_cnt) {
max_cnt = cnt[i];
max_char = 'a' + i;
}
}
cout << max_char << " " << max_cnt << endl; // 输出结果
return ;
}
```
阅读全文