C++ 字符串中出现次数最多的字母 - 小学生都能看懂的代码
输入一个由小写字母组成的字符串(字符数量<=100),输出出现次数最多的小写字母。
注意:如果有多个小写字母出现的次数一样多,则输出ASCII码值最大的那个字母。
小学生方法
我们可以使用一个长度为26的数组来统计每个小写字母出现的次数,数组的索引对应字母的ASCII码值减去97。遍历字符串,每次遇到一个小写字母,就将对应位置的计数器加1。遍历结束后,再遍历一次数组,找到出现次数最多的字母,同时记录其对应的ASCII码值。最后输出ASCII码值最大的字母即可。
代码示例
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string s;
cin >> s;
int count[26] = {0}; // 用于统计每个小写字母的出现次数
for (int i = 0; i < s.length(); i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
count[s[i] - 'a']++; // 对应字母的计数器加1
}
}
int maxCount = 0;
char maxChar = 'a' + 25; // 初始化为字母'z'
for (int i = 0; i < 26; i++) {
if (count[i] > maxCount) {
maxCount = count[i];
maxChar = 'a' + i; // 更新出现次数最多的字母
}
}
cout << maxChar << endl;
return 0;
}
输入样例:
aaabbbbbbbbbcdxs
输出样例:
b
原文地址: https://www.cveoy.top/t/topic/pawu 著作权归作者所有。请勿转载和采集!