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 // 最大字符串大小

#define CHARS 255 // 允许的最大字符数

int main(){

   char string[SIZE];

   int frequency[CHARS];

   int i = 0, maximum;

   int value;

   printf("Enter the string:\n ");

   gets(string);

   for(i=0; i<CHARS; i++){

      frequency[i] = 0; // 将所有字符的频率初始化为零

   }

   /* 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.

以上是 C程序在字符串中查找最大出现的字符 的全部内容, 来源链接: utcz.com/z/317417.html

回到顶部