#include <iostream>
using namespace std;
#include<stack>
#include<string>
#include<sstream> 

int main() {
    string str;
    getline(cin,str);
    istringstream is(str); 
    string word;
    stack<string>s;
    while(is>>word){
        s.push(word);
    }
    while(!s.empty()){
        cout << s.top() << " ";
        s.pop();
    }

}

查阅了一下如何将字符串句子拆分成单词,使用sstream这个头文件就可以了

看了一下题解,其实while(cin>>s)也行,不过了解多一点总没问题