从键盘输入C语言风格字符串abCD123□□@#&,利用函数统计其中英文字符、数字、空格和其他字符的个数。全部用c++完成
时间: 2024-10-20 19:03:43 浏览: 27
在C++中,你可以使用`std::string`类来处理字符串,并结合遍历和条件判断来统计字符种类。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <cctype> // 包含用于处理字符类型的库
void countCharacters(const std::string& str) {
int asciiCount = 0;
int digitCount = 0;
int spaceCount = 0;
int otherCount = 0;
for (char c : str) {
if (isalpha(c)) { // 检查是否为字母
if (isupper(c)) {
asciiCount++;
} else if (islower(c)) {
asciiCount++;
}
} else if (isdigit(c)) { // 检查是否为数字
digitCount++;
} else if (isspace(c)) { // 检查是否为空格
spaceCount++;
} else { // 其他字符
otherCount++;
}
}
std::cout << "英文字符: " << asciiCount << "\n";
std::cout << "数字: " << digitCount << "\n";
std::cout << "空格: " << spaceCount << "\n";
std::cout << "其他字符: " << otherCount << "\n";
}
int main() {
std::string input = "abCD123□□@#&";
countCharacters(input);
return 0;
}
```
在这个例子中,我们定义了一个名为`countCharacters`的函数,它接收一个`const std::string`作为参数。通过`for-each`循环遍历字符串中的每个字符,然后使用`std::isalpha`, `std::isdigit`, 和 `std::isspace` 函数检查字符的类型。最后,在`main`函数中,我们创建一个字符串并调用这个函数来统计。
阅读全文