题解 | #字符统计#

字符统计

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;
}
全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务