本题较为简单。

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

int main() {
    string s;
    getline(cin, s, '\n');
    vector<string> str;
    string temp;
    for (int i = 0; i < s.size(); i++) {
        if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z')) {
            temp = temp + s[i];
        } else if (!temp.empty()) {
            str.push_back(temp);
            temp.clear();
        } else {
            continue;
        }
    }
    str.push_back(temp);
    for (vector<string>::reverse_iterator iter = str.rbegin(); iter != str.rend(); iter++) {
        cout << *iter << " ";
    }

    return 0;
}