题解 | #名字的漂亮度#

名字的漂亮度

https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3

#include <stdio.h>
struct beauty{
    char a;
    int n;
};
int main() {
    int i,n;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        char a[10000],b;
        int m=0,j,k,p;
        scanf("%s",a);
        while(a[m]!=0)m++;
        //初步排序
        for(j=0;j<m-1;j++)
        for(k=0;k<m-j-1;k++)
        if(a[k]>a[k+1]){
            b=a[k];
            a[k]=a[k+1];
            a[k+1]=b;
        }
        //数据导入结构体
        struct beauty t[m],temp;
        for(j=0;j<m;j++)
        t[j].a=a[j];
        //开始计数
        for(j=0;j<m;j++){
            p=0;
            for(k=0;k<m;k++)
                if(a[j]==a[k])
                p++;
            t[j].n=p;
        }
        //去除重复
        for(j=0;j<m;j++)
        if(t[j].a==t[j+1].a){
            for(k=j;k<m;k++)
                t[k]=t[k+1];
            j--;
            m--;
        }
        //再次排序
        for(j=0;j<m-1;j++)
        for(k=0;k<m-j-1;k++)
        if(t[k].n<t[k+1].n){
            temp=t[k];
            t[k]=t[k+1];
            t[k+1]=temp;
        }
        //计算漂亮度
        int pl=0;
        for(j=0;j<m;j++)
        pl=pl+(26-j)*t[j].n;
        //输出
        printf("%d\n",pl);       
    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务