题解 | #字符统计#

字符统计

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

#include <stdio.h>
#include <stdlib.h>

typedef struct{
    int s;
    int n;
}node;

int cmp(const void*a,const void*b){
    node s1=*(node*)a,s2=*(node*)b;
    if(s1.n!=s2.n){
        return s2.n-s1.n;
    }
    else{
        return s1.s-s2.s;
    }
}

int main() {
    char c;
    node a[1005];
    int len=0;
    while((c=getchar())!=EOF){
        if(c!='\n'){
            int flag=0;
            for(int i=1;i<=len;i++){
                if(a[i].s==c){
                    a[i].n++;
                    flag=1;
                    break;
                }
            }
            if(flag==0){
                len++;
                a[len].s=c;
                a[len].n=1;
            }
        }
    }
    qsort(a+1,len,sizeof(a[0]),cmp);
    for(int i=1;i<=len;i++){
        printf("%c",a[i].s);
    }
    return 0;
}

全部评论

相关推荐

头像
03-20 22:00
重庆大学 Java
适彼乐土:“他们不行再找你” 最后的底牌吗?有点意思
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务