C語言程式:查詢字串中出現次數最多的字元


字元陣列稱為字串。

宣告

以下是宣告陣列的方法:

char stringname [size];

例如:char string[50]; 長度為50個字元的字串

初始化

  • 使用單字元常量:
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 使用字串常量:
char string[10] = "Hello":;

訪問:使用控制字串“%s”訪問字串,直到遇到 ‘\0’。

查找出現次數最多

查詢字元出現次數最多的邏輯:

  • 首先,使用以下程式查詢字元的頻率。
while(string[i] != '\0'){
   value = (int)string[i];
   frequency[value] += 1;
   i++;
}
  • 基於此,我們查找出現次數最多的字元。
maximum = 0;
for(i=0; i<CHARS; i++){
   if(frequency[i] > frequency[maximum])
      maximum = i;
}

示例

以下是查詢字串中出現次數最多的字元的C語言程式:

 線上演示

#include <stdio.h>
#define SIZE 100 // Maximum string size
#define CHARS 255 // Maximum characters allowed
int main(){
   char string[SIZE];
   int frequency[CHARS];
   int i = 0, maximum;
   int value;
   printf("Enter the string:
");    gets(string);    for(i=0; i<CHARS; i++){       frequency[i] = 0; // initialize freq of all characters to zero    }    /* Finds frequency of each characters */    i=0;    while(string[i] != '\0'){       value = (int)string[i];       frequency[value] += 1;       i++;    }    /* Finds maximum frequency */    maximum = 0;    for(i=0; i<CHARS; i++){       if(frequency[i] > frequency[maximum])          maximum = i;       }       printf("Maximum occurrence character is '%c' = %d times.", maximum,       frequency[maximum]);    return 0; }

輸出

執行上述程式後,將產生以下結果:

Enter the string:
tutorials point
Maximum occurrence character is 't' = 3 times.

更新於:2021年3月24日

3K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告