原文: https://www.programiz.com/cpp-programming/examples/frequency-character

在此示例中,将同时检查字符的出现频率(字符串对象和 C 样式字符串)。

要理解此示例,您应该了解以下 C++ 编程主题:


在此示例中,计算字符串对象中字符的频率。

为此,可使用size()函数查找字符串对象的长度。 然后,迭代for循环,直到字符串结尾。

在每次迭代中,都会检查字符的出现,如果找到,字符count的值将增加 1。


示例 1:查找字符串对象的字符频率

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. string str = "C++ Programming is awesome";
  6. char checkCharacter = 'a';
  7. int count = 0;
  8. for (int i = 0; i < str.size(); i++)
  9. {
  10. if (str[i] == checkCharacter)
  11. {
  12. ++ count;
  13. }
  14. }
  15. cout << "Number of " << checkCharacter << " = " << count;
  16. return 0;
  17. }

输出

  1. Number of a = 2

在下面的示例中,循环迭代直到遇到空字符‘\ 0’。 空字符表示字符串的结尾。

在每次迭代中,都会检查字符的出现。


示例 2:查找 C 样式字符串中字符的频率

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. char c[] = "C++ programming is not easy.", check = 'm';
  6. int count = 0;
  7. for(int i = 0; c[i] != '\0'; ++i)
  8. {
  9. if(check == c[i])
  10. ++count;
  11. }
  12. cout << "Frequency of " << check << " = " << count;
  13. return 0;
  14. }

输出

  1. Number of m = 2