题目描述
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入格式
输入为一个字符串(字符串长度至多为100)。
输出格式
输出为按要求排序后的字符串。
样例
输入样例:I am a student
输出样例:student a am I
方法1:string数组
#include <iostream>
using namespace std;
int main()
{
string str[110];
int n = 0;
while(cin >> str[n])
{
n++;
}
for(int i = n-1; i >= 0; i--)
{
cout << str[i] << " ";
}
cout << endl;
return 0;
}
方法2:双指针
# include <iostream>
using namespace std;
int main()
{
string s;
int j=0;
getline(cin,s);
for(int i=s.size()-1;i>=0;i--)
{
int j=i;
while(s[j]!=' ' && j>=0)
{
j--;
}
for(int m=j+1;m<=i;m++)
cout<<s[m];
cout<<" ";
i=j;
}
cout<<endl;
return 0;
}