题目描述 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符 输入描述: 将一个英文语句以单词为单位逆序排放。 输出描述: 得到逆序的句子


解法1(C):

#include<stdio.h>
#include<string.h>

int main()
{
    char s[1000];
    int len, i;
    fgets(s, 1000, stdin);
    len = strlen(s);
    s[len - 1] = '\0';
    for (i = len - 2; i >= 0; --i)
    {
        if (s[i] == ' ')
        {
            printf("%s ", s + i + 1);
            s[i] = '\0';
        }
        if (i == 0)
            printf("%s", s);
    }
    return 0;
}

解法2(C):

#include<stdio.h>
#include<string.h>

int main()
{
    char str[1000];
    char *p;
    gets(str);
    while(p = strrchr(str, ' ')){
        printf("%s ", p + 1);
        *p = '\0';
    }
    printf("%s", str);
    return 0;
}

解法3(Python):

stc = input()
lst = stc.split()
for x in lst[::-1]:
    print(x, end = ' ')