华为机试HJ31:单词倒排
龙门石窟位于作者:***Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
题目描述:
对字符串中的所有单词进行倒排。
清晨的阳光唯美句子说明:
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
输入描述:
输入一行以空格来分隔的句子
输出描述:
输出句子的逆序
示例:
输入:
I am a student
输出:
student a am I
解题思路:
地理生物中考成绩
首先,定义一个临时字符串,遍历输入的字符串,将字母字符放入临时字符串temp,当遇到非字母字符时,temp放入容器中存储,并清空临时字符串,此时已经拿到一个单词,继续获取下一个单词;考虑到最后的非结尾符字符可能是字母,当遍历完后,将非空临时字符串存储的最后一个单词也要放入容器中;倒序输出容器中的string单词,完成。
测试代码:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string s;
getline(cin,s);
vector<string> vs;
string temp;
for(int i=0;i<s.size();++i)
{
if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))星座摩羯打一数字
{
temp+=s[i];
}
else{
if(!pty())
{
vs.push_back(temp);
temp.clear();
}
}
}
if(!pty())
{
vs.push_back(temp);
}
for(int i=vs.size()-1;i>=0;--i)
生活疲惫无助累的句子{
cout<<vs[i]<<" ";
}
return 0;俄黑海舰队倾巢而出 外媒分析3种可能
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论