编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入格式
输入为一个字符串(字符串长度至多为 100)。
输出格式
输出为按要求排序后的字符串。
样例输入
I am a student
样例输出
student a am I
#include <bits/stdc++.h>
using namespace std;
#include <stack>
void solve(char *p1,char *p2,stack<string>s)
{
while(*p1!='\0')
{
p1++;
if(*p1==' ')
{
*p1='\0';
s.push(p2);
*p1=' ';
while(p2!=p1)p2++;
p2++;
}
if(*p1=='\0')s.push(p2);
}
while(s.size())
{
cout<<s.top()<<" ";
s.pop();
}
}
int main(){
stack<string>s;
char a[100];
cin.get(a,100);
solve(a,a,s);
return 0;
}