题目描述
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符
输入描述:
将一个英文语句以单词为单位逆序排放。
输出描述:
得到逆序的句子
示例1
输入
I am a boy
输出
boy a am I
这里我提供两种方法,第一种,利用vector和reverse函数,对string类的vector进行翻转,第二种利用stl中的栈,入栈后,出栈相当于翻转。
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
vector<string> str;
while(cin>>s)
{
str.push_back(s);
}
reverse(str.begin(),str.end());
for(int i=0;i<str.size();i++)
{
cout<<str[i]<<" ";
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main()
{
stack<string>str;
string s;
while(cin>>s)
{
str.push(s);
}
while(!str.empty())
{
cout<<str.top();
str.pop();
if(!str.empty())
cout<<" ";
}
cout<<endl;
return 0;
}