题解 | #字符统计#
字符统计
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;
}
