题目如下
单词倒排
编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
时间限制:10000
内存限制:65536
输入
输入为一个字符串(字符串长度至多为100)。
输出
输出为按要求排序后的字符串。
样例输入
I am a student
样例输出
student a am I
#include <iostream>
#include <string>
using namespace std;
int main(){
string a[100],str; //a用来存贮被分割的字符串,str用来输入句子
int j=0; //a的下标
getline(cin,str); //利用getline()输入句子
for(int i=0;i<str.length();i++){ //遍历str
if(str[i]!=' '){
a[j]+=str[i]; //如果当前字符不是空格,则与a[j]拼接
if(str[i+1]==' '){
j++; //如果当前字符的下一个字符是空格,即代表当前单词结束,则将a的下标增加1
}
}
}
for(int i=j;i>=0;i--){
cout<<a[i]<<" "; //倒序输出
}
}
第一次上传自己的想法,代码格式可能不是很标准,请大家见谅 ,多谢了!