21xrx.com
2025-04-27 20:20:53 Sunday
文章检索 我的文章 写文章
C++统计字符串中出现次数最多的字符
2023-07-05 05:32:00 深夜i     16     0
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++统计字符串中出现次数最多的字符的完整代码。希望对大家有所帮助。

  
  

评论区

请求出错了