I - Word Reversal

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
题意概括:
给出一句话,把每个单词都倒置,输出。
解题思路:
字符串处理问题。
代码:

#include<stdio.h>
#include<string.h>
#define maxn 10100
char s[maxn];
void pt(int l,int r)
{
    int t;
    while(l<r)
    {
        t=s[l];
        s[l]=s[r];
        s[r]=t;     
        l++;
        r--;
    }

}
int main()
{
    int t,z;

    scanf("%d",&t);
    z==t;
    while(t--)
    {
        int n;
        scanf("%d",&n);
        while(n--)
        {
            gets(s);
            int len=strlen(s);
            while(!len)
            {
                gets(s);
                len=strlen(s);
            }
            int l,r,f=0;
            l=r=0; 
            for(int i=0;i<len;i++)
            {
                if(s[i]!=' ')
                {
                    if(f==0)
                    {
                        l=r=i;
                        f=1;
                    }
                    else
                    r=i; 
                }
                else
                {
                    pt(l,r);
                    l=r=i;
                    f=0;
                }
            }
            pt(l,r);
            puts(s);
        }
        if(t)
        printf("\n");
    }
    return 0;
 } 

错误解析:
除了最后一组样例其他每组样例结束都有一个换行。

猜你喜欢

转载自blog.csdn.net/watestill/article/details/79251085
I