题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805314941992960
题目描述
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出
每个测试用例的输出占一行,输出倒序后的句子。
样例输入
Hello World Here I Come
样例输出
Come I Here World Hello
代码
方法一:
#include<stdio.h>
int main() {
char a[80][80];
int i = 0;
while(scanf("%s", a[i]) != EOF)
i++;
for(i--; i >= 0; i--){
printf("%s", a[i]);
if(i > 0)
printf(" ");
}
return 0;
方法二:
#include<stdio.h>
#include<string.h>
int main() {
char str[90];
gets(str);
int len = strlen(str), r = 0, h = 0, i;
char ans[90][90] = {0};
for(i = 0; i < len; i++) {
if(str[i] != ' ')
ans[r][h++] = str[i];
else{
ans[r][h] = '\0';
r++;
h = 0;
}
}
for(i = r; i >= 0; i--){
printf("%s", ans[i]);
if(i > 0)
printf(" ");
}
return 0;
}