📅  最后修改于: 2023-12-03 15:07:37.803000             🧑  作者: Mango
本文将介绍如何在 C++ 中编写程序来反转给定字符串中的单词。该程序将输入一个字符串,例如 "Hello World",并输出反转后的字符串 "World Hello"。
我们可以将字符串分为若干个单词,然后反转这些单词的顺序。具体实现步骤如下:
下面是 C++ 中反转给定字符串中的单词的程序的代码片段:
#include <iostream>
#include <string>
#include <algorithm>
#include <sstream>
using namespace std;
string reverseWords(string s) {
// 使用 stringstream 将字符串按照空格分割为单词
stringstream ss(s);
string word;
vector<string> words;
while (ss >> word) {
words.push_back(word);
}
// 反转单词顺序
reverse(words.begin(), words.end());
// 合并单词成一个字符串
string result;
for (int i = 0; i < words.size(); i++) {
result += words[i];
if (i != words.size() - 1) {
result += ' ';
}
}
return result;
}
int main() {
string s = "Hello World";
string result = reverseWords(s);
cout << result << endl;
return 0;
}
这段代码使用了 C++ STL 中的 stringstream 和 vector 来实现字符串分割和保存。在反转字符串数组时,我们使用了 STL 中的 reverse 函数。最后,我们将反转后的单词按顺序合并成一个新的字符串。运行上述代码,将输出 "World Hello"。
本文介绍了在 C++ 中反转给定字符串中的单词的程序的实现思路和代码。通过本文的学习,我们可以更加熟练地运用 C++ STL 中的字符串流和容器,并学习如何使用 STL 中的反转函数来反转数组。