请编写程序,找出一段给定文字中出现最频繁的那个英文字母。
输入格式: 输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。
输出格式: 在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。
程序:
#include <iostream> #include <stdio.h> using namespace std; int main() { int ch[128] = {0}; char c; while ((c = getchar()) != '\n') { if (c >= 'A' && c <= 'Z') { c = c - 'A' + 'a'; } ch[int(c)]++; } int MAX = 0; char MAXIDX; for (int i = 0; i < 127; i++) { if (ch[i] > MAX && (char(i) >= 'a' && char(i) <= 'z')) { MAX = ch[i]; MAXIDX = i; } } cout << char(MAXIDX) << " " << MAX << endl; }