题解 | #字符统计#

字符统计

http://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0

纯C
数组第一数据记录字符数量,第二数据记录字符
最开始想用hash表来存字符数量的,后来发现需要重新牌序就还需要扩展数组实现


/
#include<stdio.h>
#include<string.h>
int main(void){
char str[1000];
int i,j;
int temp[2];
while(scanf("%s",str) != EOF){
int hash[150][2] = {0};
int len = strlen(str);
for(i=0;i<len;i++){
hash[str[i]][0]++;
hash[str[i]][1] = str[i];
}
for(i=0;i<150;i++){
for(j=i;j<150;j++){
if(hash[j][0] > hash[i][0]){
temp[0] = hash[j][0];
temp[1] = hash[j][1];
hash[j][0] = hash[i][0];
hash[j][1] = hash[i][1];
hash[i][0] = temp[0];
hash[i][1] = temp[1];
}else if(hash[j][0] == hash[i][0]){
if(hash[j][1] < hash[i][1]){
temp[1] = hash[j][1];
hash[j][1] = hash[i][1];
hash[i][1] = temp[1];
}
}
}
}
for(i=0;hash[i][0]!=0;i++){
printf("%c",hash[i][1]);
}
printf("\n");
}
return 0;
}

全部评论

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务