对字符串中的所有单词进行倒排。
说明:
1、每个单词是以26个大写或小写英文字母构成;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
输入描述:
输入一行以空格来分隔的句子
输出描述:
输出句子的逆序
示例1
输入
I am a student
输出
student a am I
这个思想值得借鉴学习一下:
#include<iostream>
#include<stdio.h>
#include<vector>
#include<string.h>
#include<string>
using namespace std;
int main()
{
char a[10000];
string s;
int len,i;
while(gets(a))
{
len=strlen(a);
vector<string>qq;
qq.clear();
s="";
for(i=0;i<len;i++)
{
if(a[i]>='a' &&a[i]<='z' ||a[i]>='A' &&a[i]<='Z')
{
s=s+a[i];
}
else
{ if(s.size()>0)
{qq.push_back(s);
s="";}
}
}
if(s.size()>0)
qq.push_back(s);
for(i=qq.size()-1;i>0;i--)
cout<<qq[i]<<" ";
cout<<qq[0]<<endl;
}
}