zoukankan      html  css  js  c++  java
  • B1009说反话

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

    输入格式:

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

    输出格式:

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

    输入样例:

    Hello World Here I Come
    
     

    输出样例:

    Come I Here World Hello

    思路:

    利用reverse()进行反转,然后遍历字符串str,遇到空格之后再次进行反转,使用pos记录开始的位置;最后一个单词由于没有空格所以单独处理。

     问题:

    输入字符串不完整

    解决:

    cin>>str; 改为 getline(cin,str);前者遇到空格结束输入,后者遇到回车结输入。

     

     1 #include <iostream>
     2 #include <string>
     3 #include <algorithm>
     4 using namespace std;
     5 int main() {
     6     string str;
     7     getline(cin, str);//在输入回车时结束
     8     reverse(str.begin(),str.end());//对容器或者string类型进行反转
     9     int pos = 0;
    10     for (int i = 0; i < str.length(); i++) {
    11         if (str[i] == ' ') {
    12             reverse(str.begin() + pos, str.begin() + i);
    13             pos = i + 1;
    14         }    
    15     }
    16     //对最后一个单词单独处理
    17     reverse(str.begin() + pos, str.end());
    18     cout << str;
    19 }

     

     

    作者:PennyXia
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    MySql 语言分类
    grep正则 以.o结尾的文件
    demo板 apt-get install stress
    ltp-ddt qspi_mtd_dd_rw error can't read superblock on /dev/mtdblock0
    linux 系统中的 /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 目录的区别
    setenv和dos2unix碰到的问题
    bootz to be continued
    runltp出现问题 [
    demo board boot mode
    excel条件格式 满足包含xx的整行高亮
  • 原文地址:https://www.cnblogs.com/PennyXia/p/12296092.html
Copyright © 2011-2022 走看看