筆試--編程題

1.c語言實現統計字符串出現的次數最多的字符數組

  --思路:先要掃描字符串,找出每一個字符,並把每一個字符出現的次數記錄,而後記錄的最大值和對應的字符。太多字符種類,不太可能每一個字符都定義變量標誌和所對應的字符。須要尋找規律。指針

按照每一個字符的ASCII碼排列成一個數組,出現一個字符在對應的ASCII位置上加1.用到數組和指針。而後從一開始尋找出現次數最大的字符;注意要考慮到次數最大的值可能不止一個。blog

int main ()
{
	unsigned char str[256],*p=str; //防止出現ASCII碼大於127時的負值字符致使對ch的尋址錯誤
	int ch[256]={0},max,i;
	scanf("%s",str);
	while ( *p ) 
	{ 
		ch[(*p)]++; //每一個字符對應一個位置。
		p++;
	}
	max=0; 
	for ( i=1;i<256;i++ ) 
		if ( ch[max]<ch[i] ) 
			max=i;
	printf("出現次數最多的字符是:");

	for ( i=0;i<256;i++ )
		if ( ch[i]==ch[max]) 
			printf("%c ",i); //適用多個字符都是出現次數最多狀況
	printf("\n");

	return 0;
}
相關文章
相關標籤/搜索