字母统计
时间限制:3000 ms | 内存限制:65535 KB
难度:1
-
描述
- 现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
-
输入
- 第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出 - 每组数据输出占一行,输出出现次数最多的字符; 样例输入
-
3 abcd bbaa jsdhfjkshdfjksahdfjkhsajkf
样例输出 -
a a j
- 第一行输入一个正整数T(0<T<25)
#include<stdio.h>
#include<string.h>
int main()
{
int cases,sum[26],i,max;
char str[1001];
scanf("%d",&cases);
while(cases>0)
{
scanf("%s",str);
int sum[26]={0};
for(int i=0; i<strlen(str); i++)
sum[str[i]-'a']++;
max=0;//15-17行判断哪个字符出现次数最多
for(int i=1; i<26; i++)
if(sum[i]>sum[max]) max=i;//输出ASCII码小的一个
printf("%c\n",max+'a');
cases--;
}
}
本文介绍了一种简单算法,用于从给定的小写字母字符串中找出出现频率最高的字母,并在出现多个最高频率字母时返回ASCII码最小的一个。通过具体实例展示了算法的实现过程。
1233

被折叠的 条评论
为什么被折叠?



