-
总时间限制:
- 1000ms 内存限制:
- 65536kB
-
描述
-
你手中有些从右向左读的诗句,比如“rose red red a like is luve my O”。
现在为了阅读这些美妙的诗句,你要把这些语句反转成正常的从左到右,即“O my luve is like a red red rose”。
输入
- 每一行为原来从右向左读的诗句S。该诗句中不包含任何标点符号,单词间以空格隔开。每条诗句最多包含 50个单词,每个单词最多包含50个字符。 输出
- 每一行为正常的从左到右读的诗句。 样例输入
-
rose red red a like is luve my O June in sprung newly That's melodie the like is luve my O tune in played sweetly That's
样例输出
-
O my luve is like a red red rose That's newly sprung in June O my luve is like the melodie That's sweetly played in tune
代码:
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[3500]="";
while(gets(a)){
int n=strlen(a);
//思想:整体倒序遍历,每个单词正序遍历输出
for(int i=n-1;i>=0;i--){
//根据空格分割单词,正序遍历输出每个单词
if(a[i]==' '){
for(int j=i+1;a[j]!=' '&&a[j]!='\0';j++){
cout<<a[j];
}
cout<<" ";
}
}
//句子的开头第一个单词需要输出
for(int i=0;a[i]!=' '&&a[i]!='\0';i++){
cout<<a[i];
}
cout<<endl;
}
return 0;
}