将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
方法1
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
getline(cin,str);
int index1,index2;
int length=str.length();
index2=length;
// cout<<index2;
for(int i=length-1;i>=0;i--)
{
if(str[i]==' ')
{
index1=i+1;
// cout<<index1;
for(int j=index1;j<index2;j++)
cout<<str[j];
index2=index1-1;
cout<<str[index2];
}
}
for(int i=0;i<index2;i++)
{
cout<<str[i];
}
system("pause");
return 0;
}
方法2:使用向量
#include<iostream>
#include<vector>
using namespace std;
int main()
{
string s;
vector<string>vs;
while(cin>>s)
{
vs.push_back(s);
}
int le=vs.size()-1;
for(int i=le;i>0;--i)
{
cout<<vs[i]<<" ";
}
cout<<vs[0];
return 0;
}