【中级】单词倒排

    xiaoxiao2021-03-25  112

    题目

    题目描述

    对字符串中的所有单词进行倒排。 说明: 1. 每个单词是以26个大写或小写英文字母构成; 2. 非构成单词的字符均视为单词间隔符; 3. 要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符; 4. 每个单词最长20个字母;

    输入

    输入一行以空格来分隔的句子

    输出

    输出句子的逆序

    样例输入

    I am a student

    样例输出

    student a am I

    思路

    先获取每一个字符串,倒着输出。

    代码

    #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<string> vec; string str=""; while(cin>>str) { vec.push_back(str);//利用容器来存储字符串 if(cin.get()=='\n')//通过判断是否还行,来决定是否继续读取字符串 { break; } } //利用vector的反向迭代器,倒着输出 for(vector<string>::reverse_iterator iter = vec.rbegin(); iter!=vec.rend(); ++iter) { cout<<*iter;//输出 //最后一个后面不用空格 if(iter!=vec.rend()) { cout<<" "; } else { cout<<endl; } } return 0; }

    附送个表情包

    转载请注明原文地址: https://ju.6miu.com/read-13927.html

    最新回复(0)