用c++制作一个string筛选器,对从键盘输入的一组5个string数据,根据指定的长度区间进行筛选并输出。
时间: 2023-11-27 19:50:56 浏览: 74
好的,下面是一个简单的示例代码:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<string> strs(5);
int min_len, max_len;
// 输入五个字符串
cout << "请输入五个字符串:" << endl;
for (int i = 0; i < 5; i++) {
cin >> strs[i];
}
// 输入长度区间
cout << "请输入长度区间(最小长度 最大长度):" << endl;
cin >> min_len >> max_len;
// 筛选符合要求的字符串并输出
cout << "筛选结果:" << endl;
for (const auto& s : strs) {
if (s.size() >= min_len && s.size() <= max_len) {
cout << s << endl;
}
}
return 0;
}
```
这里使用了 STL 中的 vector 容器来保存五个字符串,然后通过输入最小和最大长度来进行筛选。如果一个字符串的长度在要求的区间内,则输出该字符串。
相关问题
制作一个string筛选器,对从键盘输入的一组5个string数据,根据指定的长度区间进行筛选并输出。用c++写
好的,我可以帮你写一个简单的程序来实现这个功能。以下是示例代码:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> filterStrings(vector<string> input, int minLength, int maxLength) {
vector<string> output;
for (int i = 0; i < input.size(); i++) {
if (input[i].length() >= minLength && input[i].length() <= maxLength) {
output.push_back(input[i]);
}
}
return output;
}
int main() {
vector<string> inputStrings;
int minLength, maxLength;
// 获取输入
for (int i = 0; i < 5; i++) {
string s;
cout << "请输入第" << i+1 << "个字符串:";
getline(cin, s);
inputStrings.push_back(s);
}
// 获取长度区间
cout << "请输入长度区间的最小值和最大值,用空格隔开:";
cin >> minLength >> maxLength;
// 筛选并输出结果
vector<string> filteredStrings = filterStrings(inputStrings, minLength, maxLength);
cout << "筛选后的结果为:" << endl;
for (int i = 0; i < filteredStrings.size(); i++) {
cout << filteredStrings[i] << endl;
}
return 0;
}
```
这个程序首先会让用户输入5个字符串,然后要求用户输入长度区间的最小值和最大值。接下来,程序会调用`filterStrings`函数,该函数会遍历输入的字符串数组,将长度在指定区间内的字符串存入一个新的数组中并返回。最后,程序会输出筛选后的字符串数组。
希望这个程序对你有所帮助!
制作一个string筛选器,对从键盘输入的一组5个string数据,根据指定的长度区间进行筛选并输出。
好的,我来为您解答这个问题。
您可以使用以下代码来实现这个string筛选器:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str[5];
cout << "请输入5个字符串:" << endl;
for (int i = 0; i < 5; i++)
{
cin >> str[i];
}
int min_len, max_len;
cout << "请输入最小长度和最大长度:" << endl;
cin >> min_len >> max_len;
cout << "筛选结果:" << endl;
for (int i = 0; i < 5; i++)
{
if (str[i].length() >= min_len && str[i].length() <= max_len)
{
cout << str[i] << endl;
}
}
return 0;
}
```
上面的代码中,首先定义了一个长度为5的string数组 `str`,用于存储从键盘输入的5个字符串。然后通过一个循环,依次读入这5个字符串。
接着,程序提示用户输入最小长度和最大长度,并通过 `cin` 命令读入这两个数值。
最后,程序使用一个循环遍历 `str` 数组中的每个字符串,判断其长度是否在指定的区间内,并将符合条件的字符串输出到屏幕上。
希望能够解决您的问题!