/* 功能:获取出现频率最高的字符 */ char GetMaxCountOfString(char* pStr) { if ( !pStr ) return 0; int nLength = strlen(pStr); int* pCount = (int*)malloc(sizeof(int)*(nLength+1)); memset(pCount, 0, sizeof(int)*(nLength+1)); char* pCh = (char*)malloc(nLength+1); memset(pCh, 0, nLength+1); int i = 0; int nFlag = 0; int nCnt = 0; while ( *pStr != '/0' ) { nFlag = 0; for ( i = 0;i < nCnt;++i ) { if( *pStr == pCh[i] ) { ++pCount[i]; ++nFlag; } } if ( !nFlag ) { pCh[nCnt] = *pStr; ++pCount[nCnt]; ++nCnt; } ++pStr; } /*找出出现最大频率数的字符*/ int nMax = pCount[0]; int nRecord = 0;//记录频率最大的字符索引位置 for ( i = 0;i < nCnt;++i ) { if ( nMax < pCount[i] ) { nRecord = i; nMax = pCount[i]; } } char nTemp = pCh[nRecord]; free(pCh); free(pCount); return nTemp; }