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