[计蒜客][数组下标]统计字符数|| 原创

题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛)

算法标签 数组

题目描述

在这里插入图片描述

思路

因为要统计字母数量,挨个数组存储肯定不现实
但因为ASCII码对应a==64
然后一共26个字母,我们刚好可以利用这两个关系解决问题

判定字符串,然后检测是26个中哪一个字符,再转换到对应的下标,即可解决问题
ASCII真好用…

AC代码

#include<iostream>

using namespace std;

int a[26+1];

int main()
{
    string s;
    cin>>s;
    
    //for(int i=0;i<s.size();i++)cout<<s[i];
    //cout<<char('A'+1);
    
    for(int i=0;i<s.size();i++)
        for(int j=0;j<26;j++)
            if(s[i]==char('A'+j)||s[i]==char('a'+j))//a A 小大写算一个
                a[j]++;
    
    //for(int i=0;i<s.size();i++)cout<<a[i]<<" ";
    //cout<<endl;
        
    //for(int j=0;j<26;j++)cout<<a[j];
    //cout<<endl;
    
    int ans=-0x3f3f3f;
    int ansn=0;
    for(int i=0;i<26;i++)
        ans=max(ans,a[i]);//数哪一个统计数量最大的数量
    
    for(int i=0;i<26;i++)
        if(a[i] == ans)
        {ansn=i;break;}//得到最大数量的字符位子
    
    //cout<<ans;
    
    cout<<ans<<" "<<char(ansn+64+1);
    
    return 0;
}
posted @ 2023-12-10 15:38  俺叫西西弗斯  阅读(0)  评论(0)    收藏  举报  来源