给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。
输入样例:
Hello World Here I Come
输出样例:
Come I Here World Hello
#include <iostream> #include <stdio.h> #include <string.h> using namespace std; char s[500010]; int main() { int l,i,j; int f=0; gets(s); l=strlen(s); for(i=l-1;i>=0;i--) { if((s[i]==' '&&s[i+1]!=' ')||(!i&&s[i]!=' ')) { if(f==1) { printf(" "); } if(s[i]==' '&&s[i+1]!=' ') for(j=i+1;j<l&&s[j]!=' ';j++) { printf("%c",s[j]); f=1; } else for(j=i;j<l&&s[j]!=' ';j++) { printf("%c",s[j]); f=1; } } } printf("\n"); }