题解 | #字符统计#
字符统计
http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
#include <stdio.h>
int main(){
int nums[36],out[2][36],j,i,len,temp;
char str[1000];
while(scanf("%s",str)!=-1){
len=strlen(str);
memset(nums,0,36*4);
for(i=0;i<len;i++) {
if((str[i]>='a')&&(str[i]<='z'))
nums[str[i]-'a'+10]++;
if((str[i]>='0')&&(str[i]<='9'))
nums[str[i]-'0']++;
}
len=0;
for(i=0;i<36;i++){
if(nums[i]!=0){
out[0][len]=i;
out[1][len]=nums[i];
len++;
}
}
for(i=0;i<len-1;i++){
for(j=0;j<len-1-i;j++){
if(out[1][j]<out[1][j+1]){
temp=out[1][j];
out[1][j]=out[1][j+1];
out[1][j+1]=temp;
temp=out[0][j];
out[0][j]=out[0][j+1];
out[0][j+1]=temp;
}
}
}
for(i=0;i<len;i++) {
if(out[0][i]>=10)
printf("%c",out[0][i]-10+'a');
else printf("%c",out[0][i]+'0');
}
printf("\n");
}
return 0;
}