用c++编写输入一串字符串,以“#”号结束,输出其中的大写字母个数,小写字母个数和数字个数
时间: 2024-12-17 19:21:36 浏览: 6
在C++中,你可以通过遍历输入的字符串,并利用标准库函数`isupper()`, `islower()`, 和 `isdigit()` 来判断每个字符是否是大写字母、小写字母或数字。以下是一个简单的示例程序:
```cpp
#include <iostream>
#include <string>
int countUpperCase(const std::string& input) {
int count = 0;
for (char c : input) {
if (isupper(c))
count++;
}
return count;
}
int countLowerCase(const std::string& input) {
int count = 0;
for (char c : input) {
if (islower(c))
count++;
}
return count;
}
int countDigits(const std::string& input) {
int count = 0;
for (char c : input) {
if (isdigit(c))
count++;
}
return count;
}
int main() {
std::string str;
std::cout << "请输入一串以 \"#\" 结束的字符串: ";
getline(std::cin, str); // 读取直到换行符
// 检查字符串是否以 "#" 结尾
if (str.back() != '#')
std::cerr << "错误:字符串未以 '#' 结束\n";
int uppercase_count = countUpperCase(str);
int lowercase_count = countLowerCase(str);
int digit_count = countDigits(str);
std::cout << "大写字母个数: " << uppercase_count << "\n";
std::cout << "小写字母个数: " << lowercase_count << "\n";
std::cout << "数字个数: " << digit_count << "\n";
return 0;
}
```
在这个程序中,`countUpperCase()`, `countLowerCase()`, 和 `countDigits()` 分别计算给定字符串中的大写字母、小写字母和数字的数量。用户会被提示输入字符串,然后程序会检查它是否以 "#" 结束,如果不以 "#" 结束,将输出错误信息。
阅读全文