如何将输入的字符串存入deque容器
时间: 2023-06-03 09:04:31 浏览: 128
您可以使用STL中的deque容器,通过deque的push_back()函数将输入的字符串存储到队列的尾部。示例代码如下:
```c++
#include <iostream>
#include <deque>
#include <string>
using namespace std;
int main() {
deque<string> dq;
string input;
while (getline(cin, input)) {
dq.push_back(input);
}
return 0;
}
```
相关问题
用C++制作程序1、 实现密码加密功能: 输入一串密码, 显示加密后的字符串 2、 声明两个可以存储 char 类型的 deque 容器, 分别为 d1 和 d2 3、 声明两个 string 变量, 分别为 pw1 和 pw2, 代表加密前的密码和加密后的密码 4、 输入加密前的密码给 pw1, 并将该字符串中的每个字符依次存入 d1 容器中 5、 实现加密: 取出密码的第一个字符加上 1 之后存入 d2 容器中, 取出密码的最后一个字符加上 2 之后存入 d2 容器中, 取出密码的第二个字符加上 3 之后存入 d2 容器中, 取出密码的倒数第二个字符加上 4 之后存入 d2 容中... 以此类推, 直到将密码中的所有字符全部加密后存入 d2 容器中; 再将 d2 容器中的所有字符倒序组合存入 pw2 字符 串中, 完成加密过程 6、 显示”加密中...”, 停留 5 秒钟, 显示加密后的密码, 即 pw2 字符串的内容 string str = “hello”; str += ”a”; ---> str: helloa
这是一个密码加密的程序,使用C++编写。我将为您逐步解释每个步骤。
首先,我们需要引入相关的头文件和命名空间:
```cpp
#include <iostream>
#include <deque>
#include <string>
using namespace std;
```
接下来,我们声明两个`deque`容器`d1`和`d2`,以及两个字符串变量`pw1`和`pw2`:
```cpp
deque<char> d1, d2;
string pw1, pw2;
```
然后,我们需要输入原始密码并将每个字符存入`d1`容器中:
```cpp
cout << "请输入密码:";
cin >> pw1;
for (char c : pw1) {
d1.push_back(c);
}
```
接下来,我们进行加密操作。按照题目要求,我们需要将密码的第一个字符加上1后存入`d2`容器中,密码的最后一个字符加上2后存入`d2`容器中,以此类推。具体实现如下:
```cpp
int offset = 1;
while (!d1.empty()) {
if (offset % 2 == 1) {
d2.push_back(d1.front() + offset);
d2.push_front(d1.back() + offset + 1);
} else {
d2.push_back(d1.front() + offset);
d2.push_front(d1.back() + offset - 1);
}
d1.pop_front();
if (d1.size() > 0) {
d1.pop_back();
}
offset += 2;
}
```
在加密完成后,我们需要将`d2`容器中的字符倒序组合成`pw2`字符串:
```cpp
for (char c : d2) {
pw2 += c;
}
```
最后,我们可以输出加密后的密码`pw2`:
```cpp
cout << "加密中...";
// 模拟停留5秒钟
for (int i = 0; i < 5; i++) {
cout << ".";
Sleep(1000);
}
cout << endl;
cout << "加密后的密码:" << pw2 << endl;
```
请注意,这里使用了`Sleep`函数来模拟停留5秒钟,需要包含相应的头文件:
```cpp
#include <windows.h>
```
关于您提到的字符串拼接操作:
```cpp
string str = "hello";
str += "a";
```
这段代码的作用是将字符串`"a"`拼接到字符串`"hello"`的末尾,结果是`str`变量变为`"helloa"`。
希望以上解答能够帮到您!如果还有其他问题,请随时提问。
编写程序,从标准输入读取 string 序列,存入一个deque 中。编写一个循环,用迭代器打印 deque 中的元素。
好的,这是一个简单的程序,可以使用 C++ STL 中的 deque 容器和迭代器来实现。以下是示例代码:
```cpp
#include <iostream>
#include <deque>
#include <string>
using namespace std;
int main() {
deque<string> strDeque; // 创建一个 string 类型的 deque
// 从标准输入读取 string 序列,存入 deque 中
string inputStr;
while (cin >> inputStr) {
strDeque.push_back(inputStr);
}
// 使用迭代器打印 deque 中的元素
for (auto it = strDeque.begin(); it != strDeque.end(); ++it) {
cout << *it << endl;
}
return 0;
}
```
这个程序会从标准输入读取一系列字符串,然后将它们存入一个 deque 中。接着,使用迭代器遍历 deque 并打印每个元素。
阅读全文