21xrx.com
2024-09-20 01:10:10 Friday
登录
文章检索 我的文章 写文章
C++:统计字符串中出现次数最多的英文字母
2023-06-29 20:54:28 深夜i     --     --
C++ 统计 字符串 出现次数 最多 英文字母

C++是一种非常有用的编程语言,它可以实现各种各样的程序。其中,统计字符串中出现次数最多的英文字母是一个非常实用的功能。本文将讨论如何用C++来实现这个功能。

首先,我们需要一个字符串。在C++中,字符串可以用char数组或者string类来表示。因为string类更方便,我们在这里选择用string类来表示字符串。可以用如下代码来定义一个字符串:


string str = "Hello World";

接着,我们需要定义一个数组来记录每个字母出现的次数。因为英文字母总共只有26个,我们可以用一个长度为26的数组来记录每个字母出现的次数。在这里,我们将数组命名为count数组,可以用如下代码来定义count数组:


int count[26] = {0};

接下来,我们需要遍历整个字符串,记录每个字母出现的次数。可以用如下代码来实现:


for(int i = 0; i < str.length(); i++)

{

  if(str[i] >= 'a' && str[i] <= 'z')// 判断是否为小写字母

  {

    count[str[i] - 'a']++;// 在count数组中对应的位置+1

  }

  else if(str[i] >= 'A' && str[i] <= 'Z')// 判断是否为大写字母

  {

    count[str[i] - 'A']++;// 在count数组中对应的位置+1

  }

}

代码中,我们用一个for循环遍历整个字符串,用if语句判断当前字符是否为字母(可以用ASCII码来判断),如果是字母,就在count数组中对应的位置+1。因为小写字母和大写字母的ASCII码不一样,所以要分别处理。

最后,我们需要找到count数组中出现次数最多的字母。可以用如下代码来实现:


int max = 0;// 记录最大值

char maxChar;// 记录出现次数最多的字母

for(int i = 0; i < 26; i++)

{

  if(count[i] > max)

  {

    max = count[i];// 更新最大值

    maxChar = 'a' + i;// 记录出现次数最多的字母

  }

}

代码中,我们用一个for循环遍历整个count数组,找到出现次数最多的字母。用一个变量max记录最大值,用一个变量maxChar记录出现次数最多的字母。

现在,我们已经完成了统计字符串中出现次数最多的英文字母的功能。完整的代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string str = "Hello World";

  int count[26] = {0};

  for(int i = 0; i < str.length(); i++)

  {

    if(str[i] >= 'a' && str[i] <= 'z')

    {

      count[str[i] - 'a']++;

    }

    else if(str[i] >= 'A' && str[i] <= 'Z')

    {

      count[str[i] - 'A']++;

    }

  }

  int max = 0;

  char maxChar;

  for(int i = 0; i < 26; i++)

  {

    if(count[i] > max)

    {

      max = count[i];

      maxChar = 'a' + i;

    }

  }

  cout << "出现次数最多的字母是 " << maxChar << ",出现了 " << max << " 次。" << endl;

  return 0;

}

运行代码,得到输出结果:


出现次数最多的字母是 l,出现了 3 次。

以上就是用C++统计字符串中出现次数最多的英文字母的方法,希望能对大家有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复