将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string s;
getline(cin,s);
reverse(s.begin(),s.end());
int begin=0,end=0;
while(end<s.size())
{
if(s[end]!=' ')
{
begin=end;
while(s[end]!=' '&&end<s.size())
{
end++;
}
reverse(s.begin()+begin,s.begin()+end);//特别注意reverse(begin,end),end指向的是末尾元素的下一个元素,因此reverse(s.begin()+begin,s.begin()+end)实际上是将s的第begin+1个元素到第end个元素进行逆序。
}
else
end++;
}
cout<<s;
return 0;
}