21xrx.com
2024-12-23 00:16:50 Monday
登录
文章检索 我的文章 写文章
C++统计字符串中出现次数最多的字符
2023-07-05 05:32:00 深夜i     --     --
C++ 统计 字符串 出现次数 最多的字符

C++是一种强大的编程语言,可以用来进行各种各样的编程任务。其中一个常见的任务是对字符串进行处理。在这篇文章中,我们将介绍如何使用C++编写程序来统计字符串中出现次数最多的字符。

首先,我们需要一个字符串来进行统计。可以通过使用cin来获取用户输入的字符串,或者在程序中预先定义一个字符串变量。假设我们使用第一种方法,代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string input;

  cout << "请输入一个字符串: ";

  getline(cin, input);

  

  // 统计出现次数最多的字符

  

  return 0;

}

接下来,我们需要一个数组来存储每个字符在字符串中出现的次数。由于ASCII码表中包含了128个字符,所以可以使用长度为128的数组来存储字符出现的次数。代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string input;

  cout << "请输入一个字符串: ";

  getline(cin, input);

  

  int count[128] = {0};

  for (int i = 0; i < input.size(); i++) {

    count[int(input[i])]++;

  }

  

  // 统计出现次数最多的字符

  

  return 0;

}

在上面的代码中,我们使用了一个for循环来遍历字符串中的每一个字符,然后将该字符的ASCII码作为索引,在count数组中对应的元素加1,表示该字符出现的次数。

现在,我们需要找出count中出现次数最多的字符。可以通过遍历count数组,查找其中最大的元素来实现。代码如下:


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string input;

  cout << "请输入一个字符串: ";

  getline(cin, input);

  

  int count[128] = {0};

  for (int i = 0; i < input.size(); i++) {

    count[int(input[i])]++;

  }

  

  int max_count = 0;

  char max_char = 0;

  for (int i = 0; i < 128; i++) {

    if (count[i] > max_count) {

      max_count = count[i];

      max_char = char(i);

    }

  }

  

  cout << "出现次数最多的字符是: " << max_char << endl;

  cout << "出现次数为: " << max_count << endl;

  

  return 0;

}

在上面的代码中,我们定义了两个变量max_count和max_char,用来存储出现次数最多的字符的出现次数和字符本身。然后使用一个for循环来遍历count数组,查找其中最大的元素,并将其对应的字符赋值给max_char。

最后,打印出现次数最多的字符和出现次数即可。运行程序,输入一个字符串,程序会输出出现次数最多的字符和次数。

以上就是使用C++统计字符串中出现次数最多的字符的完整代码。希望对大家有所帮助。

  
  

评论区

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