题解 | #名字的漂亮度#
名字的漂亮度
https://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
//也是一道典型的利用下标统计的题目,统计出现次数之后再从大到小排序,依次乘漂亮度得到结果 #include <stdio.h> #include<string.h> void Sort(int num[26]) { int i=0,j=0,a; for(i=0;i<25;i++) { for(j=0;j<25-i;j++) { if(num[j]<num[j+1]) { a=num[j]; num[j]=num[j+1]; num[j+1]=a; } } } return; } int main() { int n,i,j,sz,num[26],count[100]; char arr[100][10000]; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",arr[i]); } for(i=0;i<n;i++) { memset(num,0,sizeof(int)*26); sz=strlen(arr[i]); for(j=0;j<sz;j++) { num[arr[i][j]-97]++; } Sort(num); for(j=0;j<26;j++) { count[i]+=num[j]*(26-j); } printf("%d\n",count[i]); } return 0; }