zoukankan      html  css  js  c++  java
  • ZOJ 1151 Word Reversal反转单词 (string字符串处理)

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=151

    For each list of words, output a line with each word reversed without changing the order of the words.

    This problem contains multiple test cases!

    The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.

    The output format consists of N output blocks. There is a blank line between output blocks.

    Input

    You will be given a number of test cases. The first line contains a positive integer indicating the number of cases to follow. Each case is given on a line containing a list of words separated by one space, and each word contains only uppercase and lowercase letters.

    Output

    For each test case, print the output on one line.

    Sample Input

    1

    3
    I am happy today
    To be or not to be
    I want to win the practice contest

    Sample Output

    I ma yppah yadot
    oT eb ro ton ot eb
    I tnaw ot niw eht ecitcarp tsetnoc


    翻译:
    对于一串单词,直接把他们输出在一行上,要把每一个单词反转,但每一个单词的位置不要改变;
    本程序包括多组測试数据;
    输入数据的第一行是一个整数N,然后是一空行,后面跟着N个数据块,每一个数据块的格式在程序描写叙述中说明了,数据块中有一空行。
    输出格式由N个输出块组成,每一个输出块之间有一空行;

    输入描写叙述:
    现给你多组測试数据,第一行是一个正整数,表示接下来測试数据的组数,每组測试占一行,包括一串单词,中间用一个空格隔开,每一个单词仅包括大小写字母;
    输出描写叙述:
    每组測试数据都打印在一行上;


    代码:

    #include <iostream>
    #include <string>
    #include <cstdio>
    #include <algorithm>
    using namespace std;

    string s, t;
    int n, cas, flag = 0;
    char ss[1000];

    int main()
    {
        cin >> cas;
        while(cas--) {
            scanf("%d", &n);
            getchar();
            while(n--) {
                cin.getline(ss, 1000);
                s = ss;
                flag = 0;
                t.clear();
                for(int i=0; i<s.size(); i++) {
                    if(s[i] != ' ' && i <= s.size()-1) {
                        t += s[i];
                    }else {
                        reverse(t.begin(), t.end());
                        if(flag) cout << " ";
                        cout << t;
                        flag = 1;
                        t.clear();
                    }
                }
                reverse(t.begin(), t.end());
                cout << " " << t << endl;
            }
            if(cas) cout << endl;
        }
        return 0;
    }

  • 相关阅读:
    201671010105 2016-2017-2《Java程序设计》第十四周学习心得
    201671010105 2016-2017-2《Java程序设计》第十三周学习心得
    201671010105 2016-2017-2《Java程序设计》第十二周学习心得
    201671010105 2016-2017-2《Java程序设计》第十一周学习心得
    201671010105 2016-2017-2《Java程序设计》第10周学习心得
    201671010105 2016-2017-2《Java程序设计》第九周学习心得
    201671010105 2016-2017-2《Java程序设计》第7周学习心得
    201671010105 2016-2017-2《Java程序设计》第六周学习心得
    201671010105 2016-2017-2《Java程序设计》第五周学习心得
    201671010103 2016-2017-2 《Java程序设计》学习心得
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3773693.html
Copyright © 2011-2022 走看看