问题描述】输入一行字符,统计英文字母、数字字符、空格、其他字符的个数用c++
时间: 2024-11-25 22:16:33 浏览: 4
在C++中,你可以使用标准库函数以及容器如`std::string`和`std::map`来统计字符串中各种字符的个数。以下是一个简单的示例程序:
```cpp
#include <iostream>
#include <cctype>
#include <string>
#include <map>
int main() {
std::string input;
std::cout << "请输入一行字符: ";
getline(std::cin, input);
std::map<char, int> charCount;
for (char c : input) {
if (isalpha(c)) { // 检查是否为字母
charCount['a' + static_cast<int>(tolower(c) - 'a')]++; // 统计大小写字母
} else if (isdigit(c)) { // 检查是否为数字
charCount['0' + c]++; // 数字直接作为键存储
} else if (isspace(c)) { // 空格
charCount[' ']++;
} else { // 其他字符
charCount[c]++;
}
}
std::cout << "英文字母个数: " << charCount['a'] + charCount['A'] << '\n';
std::cout << "数字字符个数: " << charCount['0']...charCount['9'] << '\n';
std::cout << "空格个数: " << charCount[' '] << '\n';
std::cout << "其他字符个数: " << charCount.size() - 3 << '\n'; // 减去字母、数字和空格
return 0;
}
```
这个程序首先获取用户输入的一行字符,然后遍历每个字符,通过`isalpha`、`isdigit`和`isspace`函数检查其类别,并相应地更新`charCount`映射。最后,它会打印出各类字符的计数。
阅读全文