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+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告