从键盘输入一个字符串(可能含有数字、字母、其他可见字符),输出出现频率最高的英文字母及次数,忽略字母的大小写(如大写A和小写a均视为a)。
例如:
输入:There are 10,000 soldiers in the town.
输入:e 5
#include<stdio.h>
#include<stdlib.h>
int main(){
char str[100]="",temp[100]="";
int arr[26]={0},m=0,i,j=0,tem,max,index=0,len=0;
gets(str);
for(i=0;str[i]!='\0';i++){
if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
{
temp[j++]=str[i];
}
}
for(i=0;temp[i]!='\0';i++)
{ len++;
if(temp[i]>='a'&&temp[i]<='z'){
m=temp[i]-'a';
arr[m]++;
}
if(temp[i]>='A'&&temp[i]<='Z'){
m=temp[i]-'A';
arr[m]++;
}
}
max=arr[0];
index=0;
for(i=0;i<26;i++)
{
if(max<arr[i])
{
max=arr[i];
index=i;
}
}
printf("%c%d ",index+'a',arr[index]);
system("pause");
return 0;
}