句子逆序
题目描述
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
输入描述:
将一个英文语句以单词为单位逆序排放。
输出描述:
得到逆序的句子
输入例子:
I am a boy
输出例子:
boy a am I
解答代码:
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<set>
using namespace std;
int main()
{
char ss[1024];
string s;
string temp;
while(cin.getline(ss,1024))
{
s="";
temp="";
int length=strlen(ss);
int i;
for(i=0; i<length; i++)
{
if(ss[i]!=' ')
{
s=s+ss[i];
}
else
{
reverse(s.begin(),s.end());
//cout<<s<<' ';
temp=temp+s+' ';
s="";
}
}
if(i==length)
{
reverse(s.begin(),s.end());
//cout<<s;
temp=temp+s;
}
//cout<<endl;
for(i=length-1; i>=0&&temp[i]==' '; i--)
;
for(; i>=0; i--)
cout<<temp[i];
cout<<endl;
}
}