标题:找到字符串中出现最多的字符
只看楼主
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
结帖率:98.63%
 问题点数:0 回复次数:4 
找到字符串中出现最多的字符
找到字符串中出现最多的字符, 程序当然还是有很多缺陷
程序代码:
/* 先统计, 再遍历*/
#include <stdio.h>
#include <stdlib.h>

#define NO_OF_CHARS 256

int *getCharCountArray(char *);

char getIndexOfMax( int *, int);

char getMaxOccuringChar(char *str);

int main(void) {

    char str[] = "sample string";

    printf("%c\n", getMaxOccuringChar(str));

    return 0;
}

char getMaxOccuringChar(char *str) {

    int *count = getCharCountArray(str);

    return getIndexOfMax(count, NO_OF_CHARS);

}

int *getCharCountArray(char *str) {

    int *count = (int *)calloc(NO_OF_CHARS, sizeof(int));

    int i;

    for(i = 0; *(str+i); i++) 

        count[*(str+i)]++;

    return count;
}

char getIndexOfMax(int ar[], int ar_size) {

    int i;

    int max_index = 0;

    for( i = 1; i < ar_size; i++) 

        if(ar[i] > ar[max_index])

            max_index = i;

    free(ar);
    
    ar = NULL;

    return max_index;
}


[ 本帖最后由 madfrogme 于 2012-10-7 18:33 编辑 ]
搜索更多相关主题的帖子: include return 字符串 
2012-08-30 10:28
qhanchen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-11-8
得分:0 
学习了谢谢

06net
2012-10-07 17:28
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
得分:0 
回复 2楼 qhanchen
呃,不客气

The quieter you become, the more you can hear
2012-10-07 17:32
coolderBCCN
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2015-6-22
得分:0 
kali
2015-07-07 18:57
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
得分:0 
2015-07-08 19:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-380337-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.111680 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved