zoukankan      html  css  js  c++  java
  • 1009 说反话 (20)

    给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

    输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

    输出格式:每个测试用例的输出占一行,输出倒序后的句子。

    输入样例:

    Hello World Here I Come

    输出样例:

    Come I Here World Hello


    #include<iostream>
    #include<algorithm>
    #include<vector>
    using namespace std;
    int main(){
        string a;//保存输入的字符串
        string b;//保存每个单词
        getline(cin,a);//因为并没有给定的词数,用getline
        int k=0;//因为要求输出的最后没有多余空格,保存时输出的第几个词
        int i=a.length();
        for(i=i-1;i>=0;i--){//从最后往前数,只要不是空格就保存下来,遇到空格如果是第0个词就直接输出,否则输出个空格在输出词。
        if(a[i]!=' '){
            b+=a[i];
        }
        else  if(k==0){
            std::reverse(b.begin(),b.end());
            cout<<b;
            k++;
            b="";
        }
        else if(a[i]==' '){
            std::reverse(b.begin(),b.end());
            cout<<" "<<b;
            b="";
        }
    }   if(k!=0)cout<<" ";//最后一个词并为输出,因为第一个词前面没有空格,所以要补上
        std::reverse(b.begin(),b.end());
            cout<<b;
    } 
  • 相关阅读:
    hbase shell-namespace(命名空间指令)
    hbase shell-general(常规指令)
    hbase shell概述
    Codeforces Round #412 div2 ABCD
    Educational Codeforces Round 19
    CSU 1786 莫队+KDTree
    cdq分治入门and持续学习orz
    VK Cup 2017
    HRBUST 2072 树上求最大异或路径值
    UvaLive 5811 概率DP
  • 原文地址:https://www.cnblogs.com/fromzore/p/9534089.html
Copyright © 2011-2022 走看看