输入一个由小写字母组成的字符串(字符数量<=100),输出出现次数最多的小写字母。 注意:如果有多个小写字母出现的次数一样多,则输出ASCII码值最大的那个字母。 请使用C++编写程序。
时间: 2024-03-03 22:49:42 浏览: 90
C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2)
5星 · 资源好评率100%
好的,我能理解您的问题。以下是实现该功能的C++代码:
```cpp
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main() {
string s;
cin >> s;
unordered_map<char, int> freq;
for (char c : s) {
if (isalpha(c) && islower(c)) { // 只考虑小写字母
freq[c]++;
}
}
char max_char = 'a';
for (char c = 'b'; c <= 'z'; c++) {
if (freq[c] > freq[max_char]) {
max_char = c;
}
}
cout << max_char << endl;
return 0;
}
```
该程序首先读入一个字符串 `s`,然后使用 `unordered_map` 统计每个小写字母出现的次数。接着,遍历所有小写字母,找到出现次数最多的字母,并输出其 ASCII 码值最大的那个。
注意,我们在统计字符出现次数时,只考虑小写字母,因为题目要求输出的是小写字母。此外,我们使用 `isalpha` 和 `islower` 函数来判断一个字符是否为字母和小写字母。
阅读全文