#include <iostream>
#include <sstream>
#include <vector>
using namespace std;

int main() {
    string s;
    getline(cin, s);
    istringstream iss(s);

    vector<string> words;
    string word;
    while (iss >> word) {
        words.push_back(word);
    }

    for (int i = words.size() - 1; i >= 0; i--) {
        cout << words[i] << ' ';
    }

}
// 64 位输出请用 printf("%lld")
  1. 引入vector:虽然输入的是字符串,但字符串内部没有天然分割,不便于后续处理,因此必须转换成天然有分隔的变量类型,这里选择了vector<string>。
  2. 分隔有空格的字符串:输入天然有空格做分隔,那么就可以用输入字符串流对象做分割,这里的写法是固定的。
  3. 标准单词分割:设置一个动态数组words,用一个word接收istringstream并添加到words里。
  4. 倒序输出方法:words是可以倒过来输出的,只要让它i从最大下脚标开始递减到0就行。