华为机试HJ13:句子逆序

简介: 华为机试HJ13:句子逆序

题目描述:

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”

所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符

输入描述:

输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。

输出描述:

得到逆序的句子

示例:

输入:I am a boy

输出:boy a am I

解题思路:

输入字符串后,每有一个空格,就将空格前的字符串扔到vector里,最后的单词因为后面没有空格,所以循环结束后还要再扔一次临时字符串。

测试代码:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
    string str;
    getline(cin,str);
    vector<string> words;
    int size=str.size();
    string temp;
    for(int i=0;i<size;++i)
    {
        if(str[i]!=' ')
        {
            temp+=str[i];
        }
        else{
            words.push_back(temp);
            temp.clear();
        }
    }
    words.push_back(temp);
    for(int i=words.size()-1;i>=0;--i)
    {
        cout<<words[i]<<" ";
    }
    return 0;
}


目录
打赏
0
0
0
0
17
分享
相关文章
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
LCR 005. 最大单词长度乘积----位掩码的使用
LCR 005. 最大单词长度乘积----位掩码的使用
|
11月前
HJ27 查找兄弟单词
HJ27 查找兄弟单词
64 0
Day2 排序子序列、倒置字符串
Day2 排序子序列、倒置字符串
90 0
华为机试HJ106:字符逆序
华为机试HJ106:字符逆序
170 1
华为机试HJ60:查找组成一个偶数最接近的两个素数
华为机试HJ60:查找组成一个偶数最接近的两个素数
101 1
【Leetcode-58.最后一个单词的长度 -66.加一】
【Leetcode-58.最后一个单词的长度 -66.加一】
61 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等