首先要明白进行字母的次数进行查找时,需要注意的是进行两个循环。
由循环来找出出现次数最多的字母。
即::
然后进行次数判断,设置一个最大值max
每次内层循环结束时,都会对max进行比较,如果比max大,那就把这个值赋值给max
并记录此时的i
因我前面将字母全部转化为大写字母了(题目需要),最后输出的是小写的,所以我写了c=a[i]+32;将他转换为小写字母。
代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
char s[100],a[100];
gets(s);
int n,i,j,k=0;
n=strlen(s);
for(i=0;i<n;i++){
if(s[i]>='a'&&s[i]<='z'){
s[i]-=32;//小写化大写
}
if(s[i]>='A'&&s[i]<='Z'){
a[k++]=s[i];//存储大写字母
}
}
int l,max=0;
char c;
for(i=0;i<k;i++){
l=0;//计数赋初值
for(j=0;j<k;j++){
if(a[i]==a[j]){
l++;
}
}
if(l>max){
max=l;//找最大次数
c=a[i]+32;
}
}
printf("%d\n",max);
printf("%c\n",c);
return 0;
}