Problem Description
输入英文句子,输出该句子中除了空格外出现次数最多的字符及其出现的次数。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
逐行输出每个句子中出现次数最多的字符及其出现的次数(如果有多个字符的次数相同,只输出ASCII码最小的字符)。
Sample Input
I am a student
a good programming problem
ABCD abcd ABCD abcd
Sample Output
a 2
o 4
A 2
代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{ char a[110];int len,i,max,ans;
while(gets(a))
{ int s[125]={0};
len=strlen(a);
for(i=0;i<len;i++)
{
if(a[i]!=' ')
{
s[(int)(a[i])]++;
}
}
max=0;ans=0;
for(i=65;i<=122;i++)
{
if(s[i]>max)
{
max=s[i];
ans=i;
}
}
printf("%c %d\n",ans,max);
}
return 0;
}
提示:初值一定放在while里面 不然做完一组后就会保留
3495

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



