21xrx.com
2025-03-27 09:37:35 Thursday
文章检索 我的文章 写文章
C++统计输入行英文字母个数并排序,以逗号分隔输出
2023-07-04 19:23:46 深夜i     23     0
C++ 统计 英文字母个数 排序 逗号分隔输出

C++是一种广泛应用于编程领域的语言,它拥有丰富的库和强大的性能。今天,我们将介绍一个使用C++编写的程序,它可以统计输入行中的英文字母个数并将它们按字母顺序排序后以逗号分隔的形式输出。

首先,让我们来看看程序的基本思路。程序需要读取用户输入的字符串,然后遍历字符串中的每个字符,判断它是否是英文字母。如果是,则将该字符计数器加一。最后,程序将统计出的字符数量按字母顺序进行排序,并以逗号分隔的形式输出结果。

下面是程序的实现代码:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
  string input_str;
  vector<int> letter_count(26, 0); // 统计每个字母出现的次数
  cout << "请输入一行英文字母:" << endl;
  getline(cin, input_str);
  // 统计字母数量
  for (char c : input_str) {
    if (isalpha(c)) {
      letter_count[toupper(c) - 'A']++;
    }
  }
  // 排序并输出结果
  for (int i = 0; i < 26; i++) {
    if (letter_count[i] > 0) {
      cout << char('A' + i) << ":" << letter_count[i] << ",";
    }
  }
  cout << endl;
  return 0;
}

程序首先定义了一个长度为26的vector,用于统计每个字母出现的次数。然后,程序提示用户输入一行英文字母,并将输入保存在字符串变量input_str中。

接下来,程序遍历字符串中的每个字符,判断它是否是英文字母。如果是,则将对应字母的计数器加一。注意,这里通过使用isdigit()函数来判断字符是否为数字,使用isalpha()函数来判断字符是否为英文字母。

最后,程序使用sort()函数将字母计数器向量按字母顺序排序,并通过遍历向量将结果以逗号分隔的形式输出。

这个程序具有很高的扩展性,你可以根据自己的需求更改代码,例如您可以输入多行英文字母进行统计等。

总结:

本文介绍了一个使用C++编写的程序,它可以统计输入行中的英文字母个数并将其按字母顺序排序后,以逗号分隔的形式输出。通过学习本文,您可以更加深入地了解C++的语言特性,并且拥有了解决编程问题的更多思路和工具。

  
  

评论区