给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
感谢杭州电子科技大学李卫明老师修正数据! 感谢浙江工业大学之江学院石洗凡老师修正测试点提示。
#include<stdio.h>
#include<string.h>
int main()
{
char a[5000000];
gets(a);
int i,j,count=1,word=0;
for(i=strlen(a)-1;i>=0;i--)
{
if(a[i]!=' ')
word++;
else if(a[i]==' '&&word>0)
{
if(count==1)
count=0;
else
printf(" ");
for(j=1;j<=word;j++)
printf("%c",a[i+j]);
word=0;
}
}
if(word)
{
if(count==0)
printf(" ");
for(j=0;j<word;j++)
printf("%c",a[j]);
}
return 0;
}