要编写一个程序来颠倒输入的句子中单词的顺序,你可以按照以下步骤进行:
输入句子:
首先,你需要从标准输入读取一行文本,这行文本包含一个句子。
分割单词:
将句子分割成单词,通常单词之间由空格分隔。
颠倒单词顺序:
将分割后的单词数组颠倒。
输出结果:
将颠倒后的单词数组重新组合成一个句子,并输出。
```cpp
include include include include using namespace std; int main() { string sentence; getline(cin, sentence); // 读取一行输入 // 使用vector来存储单词 vector string word; for (char ch : sentence) { if (ch == ' ') { if (!word.empty()) { words.push_back(word); word.clear(); } } else { word += ch; } } if (!word.empty()) { words.push_back(word); // 添加最后一个单词 } // 颠倒单词顺序 reverse(words.begin(), words.end()); // 输出结果 for (const string& w : words) { cout<< w << (words.size() > 1 ? " " : ""); } cout << endl; return 0; } ``` 代码解释: 使用`getline(cin, sentence)`读取一行输入。 遍历输入字符串,使用一个临时字符串`word`来收集单词,遇到空格时将其添加到`words`向量中,并清空`word`。 使用`reverse`函数颠倒`words`向量中的单词顺序。 遍历颠倒后的单词向量,并输出每个单词,单词之间用一个空格分隔。 这个程序可以处理包含多个单词的句子,并且能够正确地颠倒单词的顺序。你可以根据需要修改和扩展这个程序。读取输入:
分割单词:
颠倒单词顺序:
输出结果: