2. 编写一个程序,要求用户输入一个字符串,然后使用C++的string类和vector类来存储子字符串。程序应该将输入的字符串分割成子字符串,每个子字符串的长度为3。将这些子字符串存储在vector中。然后,按照逆序输出子字符串。
时间: 2024-03-22 13:36:58 浏览: 57
好的,我可以帮你编写这个程序。以下是代码:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string input;
vector<string> substrings;
cout << "请输入字符串:";
getline(cin, input);
for (int i = 0; i < input.length() - 2; i += 3) {
substrings.push_back(input.substr(i, 3));
}
for (int i = substrings.size() - 1; i >= 0; i--) {
cout << substrings[i] << " ";
}
return 0;
}
```
首先,我们使用`string`类和`vector`类来定义输入字符串和存储子字符串的容器。然后,我们使用`getline`函数从用户处获取输入字符串。接下来,我们使用一个循环来将字符串分割成长度为3的子字符串,并将它们存储在`vector`中。最后,我们使用另一个循环按逆序输出`vector`中的子字符串。
希望这个程序能够帮到你,如果你有任何疑问,可以随时问我。
相关问题
4. 编写一个程序,要求用户输入一个字符串。使用C++的string类和vector类来存储字符串中的整数。程序应该将输入的字符串分割成整数,并将这些整数存储在vector中。然后,计算并输出vector中所有整数的平均值、最大值和最小值。
好的,我会为您提供一个C++程序来实现这个任务。以下是代码:
```c++
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
int main() {
string input;
cout << "请输入一个字符串,其中包含整数:" << endl;
getline(cin, input);
vector<int> nums;
istringstream iss(input);
string token;
while(getline(iss, token, ' ')) {
int num;
try {
num = stoi(token);
nums.push_back(num);
} catch(invalid_argument& e) {
// 如果不是整数,则忽略该项
}
}
int sum = 0;
int max_num = INT_MIN;
int min_num = INT_MAX;
for(int num : nums) {
sum += num;
max_num = max(max_num, num);
min_num = min(min_num, num);
}
double avg = (double)sum / nums.size();
cout << "所有整数的平均值为:" << avg << endl;
cout << "所有整数的最大值为:" << max_num << endl;
cout << "所有整数的最小值为:" << min_num << endl;
return 0;
}
```
在这个程序中,我们使用 `getline()` 函数从标准输入中读取一个字符串。然后,我们使用 `istringstream` 类将该字符串分割成单个数字,并将它们存储在 `vector` 数组中。
接下来,我们使用一个简单的循环来遍历 `vector` 数组中的所有数字,并计算它们的总和、最大值和最小值。最后,我们计算平均值并将所有三个值打印到控制台上。
希望这个程序对您有帮助!
编写一个程序,读取用户输入的一系列字符串,直到用户输入“exit”,然后输出这些字符串的总数和最后一个字符串 用c++来回答
在C++中,你可以创建一个简单的控制台应用程序来实现这个功能。下面是一个基本的示例代码:
```cpp
#include <iostream>
#include <vector>
#include <string>
int main() {
std::vector<std::string> stringList;
std::string input;
while (true) {
std::cout << "请输入一个字符串(输入 'exit' 结束):" << std::endl;
getline(std::cin, input);
if (input == "exit") {
break; // 用户输入 "exit",退出循环
}
stringList.push_back(input); // 将输入添加到字符串列表中
}
// 输出字符串总数
std::cout << "共输入了 " << stringList.size() << " 个字符串。\n";
// 输出最后一个字符串
if (!stringList.empty()) {
std::cout << "最后一个输入的字符串是: " << stringList.back() << "\n";
} else {
std::cout << "列表为空,没有输入字符串。\n";
}
return 0;
}
```
在这个程序中,我们使用`std::getline`获取用户的输入,并将其存储在一个动态数组`std::vector<std::string>`中。当用户输入"exit"时,程序会跳出循环并计算字符串的数量和显示最后一个输入的字符串。
阅读全文