zoj 1151 Word Reversal

来源:互联网 发布:海颐软件 编辑:程序博客网 时间:2024/05/19 12:28
Word Reversal

Time Limit: 2 Seconds      Memory Limit: 65536 KB

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


分析:

字符串反转。

输入方式用的fgets(s, MAX_N, stdin),一开始用的scanf,结果因为input的诡异格式超时了,当时以为不能用scanf,后来改用fgets,麻烦多了。

‘ ’‘\n’,然后一段一段的reverse。input看了半天→_→,还是太年轻。

代码:

#include <cstdio>#include <cstring>const int MAX_N = 1010;char s[MAX_N];void rev(int pre, int rear) {    int mid = (pre + rear) / 2;    for (int i = pre; i <= mid; i++) {        char t = s[i];        s[i] = s[pre + rear - i];        s[pre + rear - i] = t;    }}void solve() {    int len = strlen(s);    int sp = 0, ep = 0;    while (ep < len - 1) {        while (s[ep] != ' ' && s[ep] != '\n') ep++;        rev(sp, ep - 1);        sp = ep + 1;        ep = sp;    }    // puts(s);}int main() {    int N, t;    scanf("%d", &N);    getchar();    for (int k = 0; k < N; k++) {        if (k > 0) puts("");        scanf("%d", &t);        getchar();        for (; t > 0; t--) {            fgets(s, MAX_N, stdin);            solve();            printf("%s", s);        }    }    return 0;}


0 0
原创粉丝点击