c 语言 最常用字符

/*****
题目描述
英文字母里出现频率最高的是哪个字母呢? 给定一个字符串,输出字符串中出现次数最多的字母。

输入
输入一个只含有大小写字母和空格的字符串,长度不超过100,以回车结束。

输出
输出一个小写字母,表示该字符串中出现次数最多的字母。若答案有多个,则只输出ASCII码最小的那个。

样例输入 Copy
An apple
样例输出 Copy
a
*****/

#include <stdio.h>
#include <stdlib.h>

char transform(char c);///大写改变成小写
int main()
{
    int a[26] = {0};
    char ch;
    int max,i,index;
    while(scanf("%c",&ch),ch != '\n')
    {
        if(ch >= 'A' && ch <= 'Z')
        ch = transform(ch);//转换成小写
        if(ch != ' ')
        {
            i = (int)ch;a[i-97]++;
        }
    }
    max = 0;
    for ( i = 0;i<26;i++)
    {
        if(a[i]>max)
        max = a[i];
    }
    for (i = 0;i<26;i++)
    {
        if(a[i]==max)
        {
            index = i;break;
        }
    }
    printf("%c",index+97);
    return 0;
}
char transform(char c)
{
    if(c>='A'&& c<='Z' )
    c = c + 32;
    return c;
}

发布了84 篇原创文章 · 获赞 0 · 访问量 1825

猜你喜欢

转载自blog.csdn.net/qq_39345244/article/details/104851121