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

int main() {
    string s;
    getline(cin, s);
    int len = s.length();
    for(int i = len-1;i>=0;i--){
        if(s[i]==' '){
            for(int j = i+1;s[j]!=' '&&s[j]!='\0';j++){
                cout<<s[j];
            }
            cout<<' ';
        }
    }
    for(int i = 0;s[i]!=' ';i++){
        cout<<s[i];
    }
}
// 64 位输出请用 printf("%lld")

从后往前遍历字符串即可,遇到空格开始输出,最后输出第一个。

活动地址https://www.nowcoder.com/discuss/726480854079250432