美文网首页
求一串字符串里面出现最多的字符

求一串字符串里面出现最多的字符

作者: blue__sky | 来源:发表于2017-09-23 16:55 被阅读0次

    一个字符串中可能包含a~z中多个字符串,并且可能会有重复,求出出现次数最多的字母,并且求出次数,
    如果出现最多次数的字母不唯一,按照字母在字符串中出现的顺序,把所有结果打印出来,用换行符将每一行的字母和次数分开

    样例输入

    abcabd
    样例输出

    a 2
    b 2

    代码如下:

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        string s,z;
        char a[26];
        int b[26],j=0,num=0,sum=0,su=0,d[26],c[26];
        cin>>s;
        while(s[j++])
            num++;
        for(int i=0;i<26;i++)
        {
            a[i]='a'+i;
        }
        for(int i=0;i<26;i++)
        {
            b[i]=0;
            c[i]=0;
            d[i]=0;
        }
        int m=0;
        for(int i=0;i<num;i++)
        {
            m=int(s[i])-97;
            b[m]++;
            if(b[m]==1)
            {
               z[su]=s[i];
                su++;
            }
        }
        int max=0;
        max=b[0];
        for(int i=1;i<26;i++)
            if(max<b[i])
                max=b[i];
        for(int i=0;i<26;i++)
            if(max==b[i])
            {
                c[sum]=i+97;
                    sum++;
            }
        for(int i=0;i<su;i++)
        for(int k=0;k<sum;k++)
            if(int(z[i])==c[k])
                cout<<z[i]<<' '<<b[int(z[i])-97]<<endl;
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:求一串字符串里面出现最多的字符

          本文链接:https://www.haomeiwen.com/subject/keicextx.html