给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
这是我的代码:
#include<stdio.h>
int main(){
char a[81];
int i,j;
gets(a);
for(i=0;a[i]!='\0';i++);
j=--i;
while(i>=0&&j>=0){
if(a[j]!=' ')
j--;
else
{
int temp=j+1;
while(temp!=i+1){
printf("%c",a[temp]);
temp++;
}
printf(" ");
i=--j;
}
}
while(a[++j]!=' ')
printf("%c",a[j]);
}
代码基本正确吧,不过有个问题想请教大佬们下,这个代码提交时有时出现段错误有时满分不知是何原因,求大佬解决,谢谢!