21xrx.com
2025-03-24 18:50:57 Monday
文章检索 我的文章 写文章
C++统计字符串中数字出现频率
2023-07-07 09:53:25 深夜i     26     0
C++ 字符串 数字 出现频率 统计

C++是一种强大的编程语言,常用于开发高性能的应用程序和游戏。其中一个常见的需求就是统计字符串中数字出现的频率。本文将介绍如何使用C++编写一个统计数字频率的程序。

首先,我们需要定义一个函数来统计字符串中数字出现的频率。这个函数可以接收一个字符串作为参数,并返回一个映射,其中每个数字都与其出现的次数对应。使用映射可以方便的存储每个数字的出现情况。

cpp
std::map<char, int> count_numbers(const std::string& str) {
  std::map<char, int> numbers;
  for (char c : str) {
    if (isdigit(c)) {
      numbers[c]++;
    }
  }
  return numbers;
}

这个函数首先创建了一个空的映射 `numbers`,然后遍历输入的字符串中的每个字符。如果字符是数字,则将其对应的值在映射中加1,表示这个数字出现了一次。最终,函数返回存储数字出现情况的映射。

下面的代码演示了如何使用这个函数来统计给定字符串中数字的出现频率。它首先使用标准输入来获取一个字符串,并打印出这个字符串中数字的出现情况。

cpp
#include <iostream>
#include <map>
std::map<char, int> count_numbers(const std::string& str);
int main() {
  std::string str;
  std::cout << "Enter a string: ";
  std::cin >> str;
  std::map<char, int> numbers = count_numbers(str);
  for (const auto& pair : numbers)
    std::cout << pair.first << ": " << pair.second << std::endl;
  
  return 0;
}

当程序执行时,它会要求用户输入一个字符串,并将其传递给 `count_numbers` 函数来统计数字出现的情况。最后,程序会遍历数字映射并将每个数字以及其出现次数打印到屏幕上。

这是一个简单的示例,演示了如何使用C++统计字符串中数字出现的频率。使用这个方法,我们可以轻松的编写一个功能强大的应用程序来处理数字数据。

  
  

评论区