字符统计2
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
输入英文句子,输出该句子中除了空格外出现次数最多的字符及其出现的次数。
Input
输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。
Output
逐行输出每个句子中出现次数最多的字符及其出现的次数(如果有多个字符的次数相同,只输出ASCII码最小的字符)。
Example Input
I am a student
a good programming problem
ABCD abcd ABCD abcd
Example Output
a 2
o 4
A 2
>
#include<stdio.h>
#include<string.h>
#define N 10000
int main()
{
int n,x,max;
int i,j,flag=0;
char s[N],t;
while(gets(s)!=NULL)
{
int count[N]= {0};
n=strlen(s);
for(i=0; i<n; i++)
{
if(s[i]==' ')
{
continue;
}
else for(j=0; j<n; j++)
{
if(j!=i)
{
if(s[j]==s[i])
count[i]++;
}
}
}
for(i=0; i<n; i++)
{
if(i==0)
{
max=count[0];
x=0;
}
if(count[i]>max)
{
max=count[i];
x=i;
}
else if(count[i]==max)
{
if(s[i]<s[x])
{
max=count[i];
x=i;
}
}
}
printf("%c %d\n",s[x],count[x]+1);
}
return 0;
}