21xrx.com
2024-12-22 22:32:21 Sunday
登录
文章检索 我的文章 写文章
C++ 统计数字出现次数
2023-07-09 07:01:16 深夜i     --     --
C++ 统计 数字 出现次数

在 C++ 编程中,统计数字出现次数是一个常见的需求。无论是统计一段文本中数字的出现次数还是统计一个数组中某个数的出现次数,都可以通过编写 C++ 代码轻松实现。

下面是一些示例代码,演示了如何统计一个整数数组中某个数的出现次数:


#include <iostream>

using namespace std;

int count(int arr[], int size, int target) {

  int result = 0;

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

    if (arr[i] == target) {

      result++;

    }

  }

  return result;

}

int main() {

  int arr[] = 1;

  int target = 2;

  int size = sizeof(arr) / sizeof(arr[0]);

  int result = count(arr, size, target);

  cout << target << " appears " << result << " times.\n";

  return 0;

}

上述代码中,`count` 函数接收一个整数数组、数组大小和一个目标数字作为参数,并返回目标数字在数组中出现的次数。`main` 函数声明一个整数数组、一个目标数字和计算数组大小的变量,并调用 `count` 函数以统计目标数字出现的次数。最后,输出结果给用户。

如果你需要统计一个字符串中数字的出现次数,可以使用正则表达式。以下是一个示例代码:


#include <iostream>

#include <regex>

using namespace std;

int main() {

  string str = "My age is 30. My salary is 10000.";

  regex rx(R"(\d+)");

  smatch match;

  int count = 0;

  while (regex_search(str, match, rx)) {

    count++;

    str = match.suffix().str();

  }

  cout << "There are " << count << " numbers in the string.\n";

  return 0;

}

上述代码中,我们使用了 C++ 的正则表达式功能来匹配数字。`regex` 类表示一个正则表达式,`smatch` 列表保存成功匹配的子串。使用 `regex_search` 函数,从字符串 `str` 中查找匹配正则表达式 `rx` 的子字符串。如果有匹配的子串,增加计数器,并将 `str` 更新为剩余字符串。最后输出计数器的值给用户。

  
  

评论区

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