C++统计字符串里的不同字母数量
时间: 2024-11-15 21:13:31 浏览: 0
C++统计中英文大小写字母、数字、空格及其他字符个数的方法
5星 · 资源好评率100%
在C++中,统计字符串里不同字母的数量可以通过以下步骤实现:
1. 首先,你需要创建一个容器(如`std::set<char>`)来存储已经遇到的不同字符,因为`set`自动去除了重复元素。
2. 然后遍历字符串,对于每个字符,检查它是否已经在`set`中,如果不在,则添加到`set`中并增加计数器;如果已在`set`中,说明这个字符之前已经见过,所以不需要增加计数器。
3. 最后,`set`的大小就是不同字母的数量。
下面是一个简单的示例代码片段:
```cpp
#include <iostream>
#include <set>
int count_distinct_chars(const std::string& str) {
std::set<char> unique_chars;
int distinct_count = 0;
for (char c : str) {
if (isalpha(c)) { // 检查字符是否为字母
unique_chars.insert(c);
distinct_count++;
}
}
return distinct_count;
}
int main() {
std::string input_string = "Hello, World!";
int distinct_alpha_count = count_distinct_chars(input_string);
std::cout << "Number of distinct letters: " << distinct_alpha_count << std::endl;
return 0;
}
```
在这个例子中,我们只考虑了英文字母,并忽略了其他字符,如空格、标点等。如果你想包括所有可见的ASCII字符,只需去掉`if (isalpha(c))`这一条件即可。
阅读全文