C语言编程题目 给一个字符串,请找出出现次数最多的大写英文字母.输入第一行是一个整数N,表示样例的个数.以后的每行一个字符串,串长不超过2000,且只含大写英文字母.输出每个样例输出一
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 21:45:36
C语言编程题目 给一个字符串,请找出出现次数最多的大写英文字母.输入第一行是一个整数N,表示样例的个数.以后的每行一个字符串,串长不超过2000,且只含大写英文字母.输出每个样例输出一
C语言编程题目 给一个字符串,请找出出现次数最多的大写英文字母.
输入
第一行是一个整数N,表示样例的个数.
以后的每行一个字符串,串长不超过2000,且只含大写英文字母.
输出
每个样例输出一行,先是出现次数最多的大写英文字母,然后是它的出现次数.如果存在多个大写英文字母符合题意,只要输出最小的那个.
Sample Input
2
ABCDEFGHIJKLMNOPQRSTUVWXYZ
AAAAABBBB
Sample Output
A 1
A 5
C语言编程题目 给一个字符串,请找出出现次数最多的大写英文字母.输入第一行是一个整数N,表示样例的个数.以后的每行一个字符串,串长不超过2000,且只含大写英文字母.输出每个样例输出一
思路如下
先定义一个数组s[26],下标0-25 分别对应A-Z
遍历整个字符串,统计每个字符出现的次数
char ch ;
char s[25];
memset(s,0,sizeof(s));//清空s数组
do
{
char ch = getchar();
s[ch-'A']++; //减去A的ASCII码之后恰好为0,对应数组下标
}
while(ch!='\0');
遍历一次找到s数组中的最大值,就是出现的最大次数 设为m
int count = 0;
int min_index = 0;
for(i=0;i<25;++i)
{
if(count < s[i])
{
count = s[i];
min_index = i; //同样次数的最小字母对应下标
}
}
char min_char = min_index + 'A';
putchar(min_char);为答案
自己组织一下编程实现吧,很简单的
希望对你有帮助!