joj1146
1146: Word Reversal
Result | TIME Limit | MEMORY Limit | Run Times | AC Times | JUDGE |
---|---|---|---|---|---|
3s | 8192K | 2658 | 690 | Standard |
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
This problem is used for contest: 36
Submit / Problem List / Status / Discuss
用C写这种字符串处理的还是有点#$%^&*的。缓冲区的问题,比较容易写错(更可能是我太水)。感觉像在回顾《The C programming language》的导言。
1 #include <stdio.h>
2
3 int main(void)
4 {
5 //freopen("in.txt","r",stdin);
6
7 int m, n, i, j, k;
8 int flag=1;
9
10 char c[100];
11 char ch;
12
13 while(scanf("%d", &n) == 1)
14 {
15 while (n > 0)
16 {
17 n--;
18 scanf("%d", &m);
19 getchar();
20
21 if(flag==1)
22 {
23 flag = 0;
24 }
25 else
26 {
27 printf("\n");
28 }
29
30 i = 0;
31 while(m > 0)
32 {
33
34 ch = getchar();
35
36 if(ch!='\n' && ch!=' ')
37 {
38 c[i++]=ch;
39 }
40 else if(ch==' ') //一个单词结束
41 {
42 if(i != 0)
43 {
44 for(j=0; j<i; j++)
45 {
46 printf("%c", c[i-j-1]);
47 }
48
49 i = 0; //清0
50 printf(" ");
51 }
52 else //处理一行的第一个字母是空格
53 {
54 printf(" ");
55 }
56 }
57 else //一行结束
58 {
59 for(j=0; j<i; j++)
60 {
61 printf("%c", c[i-j-1]);
62 }
63
64 i=0;
65 printf("\n");
66
67 m--;
68 }
69 }
70 }
71 }
72
73 return 0;
74 }