例题
【问题描述】编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所 有单词的顺序倒排并输出,依然以单个空格分隔。
【输入文件】文件名:daopai.in
输入为一个字符串(字符串长度至多为 100)。
【输出文件】文件名:daopai.out
输出为按要求排序后的字符串。
【样例输入】 I am a student
【样例输出】 student a am I
思路
代码
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
#include<cctype>
using namespace std;
#define endl "n"
int main(){
string str;
getline(cin,str);
int n = str.length();
int i=n-1,j=n-1;
while(i>=0){
if(str[i]==' '){
cout<<' ';
i--;
}else{
j=i;
while(j>=0&&str[j]!=' '){
j--;
}
for(int k=j+1;k<=i;k++){
cout<<str[k];
}
i=j;
}
}
return 0;
}