总时间限制: 3000ms内存限制: 65536kB 题目链接——>点击打开链接
描述
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
输入
输入为一个字符串(字符串长度至多为100)。
输出
输出为按要求排序后的字符串。
样例输入
I am a student样例输出
student a am I
题型/思路
字符串倒排。这题和单词翻转思路挺相似点击打开链接
AC代码
#include <iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int nmax=101;
char s[nmax];
int main(int argc, char** argv) {
gets(s);
int len=strlen(s);
int k=len-1;
for(int i=len-1;i>=0;i--){
if(s[i]==' '){
for(int j=i+1;j<=k;j++ ){
cout<<s[j];//s[j]不是s[i]
}
cout<<' ';
k=i-1;
}
}
for(int i=0;i<=k;i++){
cout<<s[i];
}
return 0;
}