【问题描述】输入一行字符,统计英文字母、数字字符、空格、其他字符的个数用c++ 【样例输入】 1?ab 234#XY Z5678)(&^%90 【样例输出】 英5数10空2其7
时间: 2024-11-25 12:15:13 浏览: 11
cpp代码-从键盘输入一串字符,以回车键结束,分别统计输入的字母、数字和其它字符的个数
5星 · 资源好评率100%
在 C++ 中,你可以使用标准库中的 <cctype> 和 <algorithm> 来实现这个功能。以下是一个简单的示例程序,它接受一行输入并计算每种字符类型的计数:
```cpp
#include <iostream>
#include <string>
#include <cctype>
#include <iomanip>
int main() {
std::string input = "1?ab 234#XY Z5678)(&^%90";
int alpha_count = 0, digit_count = 0, space_count = 0, other_count = 0;
// 遍历字符串中的每个字符
for (char c : input) {
if (isalpha(c)) { // 检查是否为字母(包括大小写字母)
alpha_count++;
} else if (isdigit(c)) { // 检查是否为数字
digit_count++;
} else if (isspace(c)) { // 检查是否为空格
space_count++;
} else { // 其他字符(包括特殊字符和非ASCII字符)
other_count++;
}
}
std::cout << "英" << alpha_count << "数" << digit_count << "空" << space_count << "其" << other_count << "\n"; // 格式化输出结果
return 0;
}
```
当你运行此程序并输入样例字符串 "1?ab 234#XY Z5678)(&^%90" 时,它将输出 "英5数10空2其7"。
阅读全文