题解 | #字符统计#

字符统计

https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

#include <ctype.h>
#include <stdio.h>
 
int main()
{
    int a, b,max1,len;
    int js[36]={0};
    char str2;
    char str1[1000];
     
    gets(str1);
    len=strlen(str1);
    for(a=0;a<len;a++)//个数统计0-9,a-z
    {
        
            if(isdigit(str1[a]))
                js[str1[a]-'0']++;      //榜2竟然没做转化,好像也挺合理的
            else
                js[str1[a]-'a'+10]++;
          
     }
    while(len>0) 
    {
        max1=0;
        for(b=0;b<36;b++)   //最大数判断
        {
           if(max1<js[b])
            {
                max1=js[b];//找出最大数
            }
             
         }
         len--;             //最小为1
          for(b=0;b<=35;b++)
        {
            if(js[b]==max1&&max1!=0)    //MAX不能为0,找出最大并输出
            {
               if(b>9)
               {
                    str2=b+'a'-10;
                    printf("%c",str2);
               }
                 
                else if(b<=9)
                {
                    str2=b+'0';
                    printf("%c",str2);
                }
                js[b]=0;                //输出后该位置置为0
            }
                 
         }
    }
    return 0;
}

全部评论

相关推荐

04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
缒梦&独舞:这家公司是这样的,去年给我实习offer了,不过也是面着玩儿的,他周六还要去做公益志愿活动
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务