• 1042 字符统计(20 分)


    请编写程序,找出一段给定文字中出现最频繁的那个英文字母。

    输入格式:

    输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。

    输出格式:

    在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。

    输入样例:

    This is a simple TEST.  There ARE numbers and other symbols 1&2&3...........
    

    输出样例:

    e 7
    
    #include<iostream>
    using namespace std;
    int main(){
        string a;//保存输入的字符串
        getline(cin,a);
        int b[26]={0};//用来保存26个字母分别有多少个
        int i;
        for(i=0;i<a.length();i++){
            if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
            {    
                b[tolower(a[i])-'a']++;
            }
        }
        int y=b[0];//y是用来保存出现最多的字符次数的
        int j=0;//j是用来保存字母是26个字母中的第几个的
        for(int m=1;m<26;m++){//因为需要数组的下标,所以不能使用快排找到最大数
            if(y<b[m])
            {
                y=b[m];
                j=m;
            }
        }
        cout<<char('a'+j)<<" "<<y;
    } 
  • 相关阅读:
    HDU 1159 Common Subsequence 动态规划
    poj2349 Arctic Network
    hdu1596 find the safest road
    poj 1011
    二进制枚举
    codeforces 626E Simple Skewness
    code for 1
    painting fence
    codeforces 797c minimal string
    POJ 3977
  • 原文地址:https://www.cnblogs.com/fromzore/p/9600585.html
Copyright © 2020-2023  润新知