编写程序,建立字符串set容器和字符串向量,从键盘上输入若干字符串,保存在容器内,再将以英文字母开头的字符串拷贝至字符串向量内,最后输出字符串向量内容。 输入格式: 第一行输入字符串数量n; 第二行开始输入n个字符串; 输出格式: 输出所有以英文字母开始的字符串;空格间隔(包括最后一个字符串后也有空格)
时间: 2024-03-08 22:47:41 浏览: 84
openssl命令和C语言实现字符串AES对称加密功能
以下是C++代码实现:
```cpp
#include <iostream>
#include <string>
#include <set>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
set<string> str_set;
for (int i = 0; i < n; i++) {
string str;
cin >> str;
str_set.insert(str);
}
vector<string> str_vec;
copy_if(str_set.begin(), str_set.end(), back_inserter(str_vec), [](const string &str) {
return isalpha(str[0]);
});
for_each(str_vec.begin(), str_vec.end(), [](const string &str) {
cout << str << " ";
});
cout << endl;
return 0;
}
```
首先使用 set 容器存储输入的字符串。然后使用 `copy_if` STL 算法将符合条件(以英文字母开头)的字符串拷贝到字符串向量中。最后使用 `for_each` 算法输出字符串向量。
阅读全文