题解 | #字符统计#

字符统计

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;
}

全部评论

相关推荐

头像
05-27 20:32
已编辑
深度学习
工行数据中心 偏运维养老 到手可能18w
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务