package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
)

func main() {

    reader := bufio.NewReader(os.Stdin)
    line, err := reader.ReadString('\n')
    if err != nil {
        fmt.Println(err.Error())
    }

    var newStr string
    for i := 0; i < len(line)-1; i++ {
        if (line[i] >= 97 && line[i] <= 122) || (line[i] >= 65 &&
            line[i] <= 90) {
            newStr += string(line[i])
        } else {
            newStr += string(" ")
        }
    }

    strArr := strings.Split(newStr, " ")
    for i := len(strArr) - 1; i >= 0; i-- {
        if strArr[i] != " " {
            fmt.Print(strArr[i], " ")
        }
    }

}

用 Go 语言写的解题思路
先统一把非字母的符号都用空格代替
再使用 strings.Split(s1," ") 把字符串分割成一个字符串数组
最后,倒序输出数组,注意的是:风格的过程中,有的空格可能会被单独分成字符串数组的一个元素,因此在输出的时候,需要先行判断,判断字符串数组中的元素不是 " "
再格式化进行输出