描述 给定m行n列的二维字符数组(仅由字母构成),输出其中出现次数最多的字母。 如果存在多个,输出ASCII码最小的那个字母。 输入 第一行,两个整数m和n;表示行数和列数;(m和n不超过100) 接下来m行n列二维字符数组 输出 输出其中出现次数最多的字母。 如果存在多个,输出ASCII码最小的那个字母。 输入样例 1 2 3 aAa aBa 输出样例1 a c++ 代码 c++ 代码
时间: 2024-03-25 18:37:58 浏览: 52
```cpp
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int freq[256]; // 用一个长度为256的数组记录每个字符出现的次数
int main() {
int m, n;
cin >> m >> n;
memset(freq, 0, sizeof(freq)); // 初始化为0
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
char c;
cin >> c;
freq[c]++;
}
}
char max_ch = 0;
int max_freq = 0;
for (int i = 0; i < 256; i++) {
if (freq[i] > max_freq) {
max_freq = freq[i];
max_ch = i;
}
}
cout << max_ch << endl;
return 0;
}
```
相关问题
描述 给定m行n列的二维字符数组(仅由字母构成),输出其中出现次数最多的字母。 如果存在多个,输出ASCII码最小的那个字母。 输入 第一行,两个整数m和n;表示行数和列数;(m和n不超过100) 接下来m行n列二维字符数组 输出 输出其中出现次数最多的字母。 如果存在多个,输出ASCII码最小的那个字母。 输入样例 1 2 3 aAa aBa 输出样例1 a c++ 代码
```
#include <iostream>
#include <cstring>
using namespace std;
const int MAXN = 1005;
int main() {
int m, n;
cin >> m >> n;
int cnt[26] = {0}; // 记录每个字母出现的次数
char c;
for(int i = 1; i <= m; ++i) {
for(int j = 1; j <= n; ++j) {
cin >> c;
++cnt[c - 'A']; // 统计出现次数
}
}
int maxCnt = 0;
char ans;
for(int i = 0; i < 26; ++i) {
if(cnt[i] > maxCnt) {
maxCnt = cnt[i];
ans = i + 'A';
}
}
cout << ans << endl;
return 0;
}
```
阅读全文