题解
2026-04-29 20:33:20
发布于:天津
4阅读
0回复
0点赞
c++题解:
第一步
string s;
cin >> s;
将字符串存入s变量里。
int a[30] = {};
定义一个数组,存储当前字母出现个数。
for(int i = 0; i < s.size(); i++) { //size()用来查看字符个数
a[s[i]-'a'+1]++; //假如s[i] == 'a' | 'a' - 'a' + 1 == 1, 从1开始
}
进行循环记录当前字母出现个数。
char maxc;
int maxn = 0;
记录出现个数最多的字母和数量。
for(int i = 1; i <= 26; i++) {
if(a[i] > maxn) {
maxc = i + 'a' - 1; //加回来
maxn = a[i];
}
}
循环26个字母找出出现个数最多的字母。
cout << maxc << " " << maxn;
最后输出。
最终程序:
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
cin >> s;
int a[30] = {};
for(int i = 0; i < s.size(); i++) {
a[s[i]-'a'+1]++;
}
char maxc;
int maxn = 0;
for(int i = 1; i <= 26; i++) {
if(a[i] > maxn) {
maxc = i + 'a' - 1;
maxn = a[i];
}
}
cout << maxc << " " << maxn;
return 0;
}
这里空空如也







有帮助,赞一个