从键盘上输入一串字符,分别统计其中的大写字母、小写字母、数字的个数,然后将非大写字母、小写字母、数字的字符全部用‘#’代替,最后输出更改后的字符串。c++2010版本
时间: 2024-01-21 07:19:16 浏览: 20
以下是C++实现代码:
```cpp
#include <iostream>
#include <ctype.h> // 包含isupper, islower, isdigit函数的头文件
using namespace std;
int main()
{
string str;
int upperCnt = 0, lowerCnt = 0, digitCnt = 0;
getline(cin, str); // 输入一串字符
for (int i = 0; i < str.length(); i++) {
if (isupper(str[i])) { // 统计大写字母个数
upperCnt++;
} else if (islower(str[i])) { // 统计小写字母个数
lowerCnt++;
} else if (isdigit(str[i])) { // 统计数字个数
digitCnt++;
} else { // 其它字符用'#'代替
str[i] = '#';
}
}
cout << "大写字母个数:" << upperCnt << endl;
cout << "小写字母个数:" << lowerCnt << endl;
cout << "数字个数:" << digitCnt << endl;
cout << "更改后的字符串:" << str << endl;
return 0;
}
```
注意:使用`getline(cin, str)`可以接收带空格的字符串。如果使用`cin >> str`,则只能接收一个单词。