zoukankan      html  css  js  c++  java
  • ACM&翻转单词顺序

    翻转单词顺序

    题目描述:
    JOBDU最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
    输入:
    每个测试案例为一行,表示一句英文句子。
    我们保证一个句子的单词数不会超过600,每个单词的长度也不会超过30。但是需要注意的是Fish是个不拘小节的人,有时候两个单词中间可能会有很多空格。为了方便起见,你可以认为一行的字符总数不会超过50000个,标点符号可以和普通字母一样处理。
    输出:
    对应每个测试案例,把翻转后的正确的句子单独输出一行。
    样例输入:
    student. a am I
    I'm a Freshman and I like JOBDU!
    样例输出:
    I am a student.
    JOBDU! like I and Freshman a I'm
    http://ac.jobdu.com/problem.php?cid=1039&pid=25
    main.cpp
     1 #include
     2 
     3 #include
     4 
     5 #define N 50005
     6 
     7  
     8 
     9 using namespace std;
    10 
    11  
    12 
    13 void swap(char* str, int begin, int end );
    14 
    15  
    16 
    17 int main()
    18 
    19 {
    20 
    21     char str[N];
    22 
    23  
    24 
    25     while( cin.getline(str, N) ) {
    26 
    27     int len = strlen(str);
    28 
    29     int begin, end;
    30 
    31     begin = end = 0;
    32 
    33     swap(str, 0, len);
    34 
    35  
    36 
    37     while(end < len) {
    38 
    39         while(str[end] != ' ' && str[end] != '\0') end++;
    40 
    41  
    42 
    43         swap(str, begin, end);
    44 
    45         begin = end;
    46 
    47         while(str[++begin] == ' ') ;
    48 
    49         end = begin;
    50 
    51  
    52 
    53         }
    54 
    55  
    56 
    57     cout << str <
    58 
    59  
    60 
    61     }
    62 
    63  
    64 
    65     return 0;
    66 
    67 }
    68 
    69  
    70 
    71 void swap(char* str, int begin, int end )
    72 
    73 {
    74 
    75     char temp;
    76 
    77     end--;
    78 
    79     while(begin < end){
    80 
    81         temp = str[begin];
    82 
    83         str[begin] = str[end];
    84 
    85         str[end] = temp;
    86 
    87         begin++;
    88 
    89         end--;
    90 
    91         }
    92 
    93 }
  • 相关阅读:
    XML 验证器
    XML 浏览器支持
    XML 元素
    查看 XML 文件
    XML 属性
    Android入门之Activity四种启动模式
    XML 简介
    XML 语法规则
    [Android]Thread线程入门3多线程
    XML 验证
  • 原文地址:https://www.cnblogs.com/wizzhangquan/p/2956583.html
Copyright © 2011-2022 走看看