字符统计2
Time Limit: 1000 ms Memory Limit: 65536 KiB
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
Hint
扫描二维码关注公众号,回复:
2904050 查看本文章
Source
#include <stdio.h>
#include <string.h>
int main()
{
char s[110];
int i, x, j, m, k;
while(gets(s))
{
m = 0;
k = 0;
for(i = 0; i <= strlen(s) - 1; i++)
{
x = 0;
if((s[i] >= 65 && s[i] <= 90) || (s[i] >= 97 && s[i]<= 122))
{
for(j = 0; j <= i; j++)
{
if(s[j] == s[i])
x++;
if(x >= m)
{
if(x > m)
{
m = x;
k = i;
}
if(x == m)
{
if(s[k] > s[i])
{
m = x;
k = i;
}
}
}
}
}
}
printf("%c %d\n", s[k], m);
}
return 0;
}