在c++中输入一串字符以#结束,统计其中有多少大写,小写,数字型字符
时间: 2024-10-13 19:14:12 浏览: 16
在C++中,你可以通过标准库提供的`std::ctype`和`std::string`来进行这个任务。首先,你需要包含`<cctype>`头文件来获取处理字符类别(如大写字母、小写字母和数字)的函数。下面是一个简单的示例:
```cpp
#include <iostream>
#include <string>
#include <cctype>
int main() {
std::string input;
std::cout << "请输入一串以 '#' 结束的字符:";
getline(std::cin, input); // 读取一行直到换行符
int uppercase_count = 0, lowercase_count = 0, digit_count = 0;
for (char c : input) {
if (isupper(c)) { // 检查是否是大写字母
uppercase_count++;
} else if (islower(c)) { // 检查是否是小写字母
lowercase_count++;
} else if (isdigit(c)) { // 检查是否是数字
digit_count++;
}
// 如果遇到'#', 我们可以停止遍历
if (c == '#') {
break;
}
}
std::cout << "大写字母有:" << uppercase_count << " 个\n";
std::cout << "小写字母有:" << lowercase_count << " 个\n";
std::cout << "数字字符有:" << digit_count << " 个\n";
return 0;
}
```
在这个程序中,我们使用`isupper()`,`islower()`和`isdigit()`函数来检查每个字符的类别,并分别计数大写、小写和数字字符。
阅读全文