杭电ACM-1062

2017-01-20  本文已影响0人  1QzUPm_09F

题目:

1602题

代码:

#include<stdio.h>
#include<string.h>
int n,i,len,k,j,begin;
char a[1010][1010];
int main()
{
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
    {
        gets(a[i]);
        len=strlen(a[i]);
        a[i][len]=' ';
        begin=0;
        for(k=0;k<=len;k++)
        {
            if(a[i][k]==' ')
            {
                for(j=k-1;j>=begin;j--)
                {
                    putchar(a[i][j]);
                }
                begin=k+1;
                if(k!=len)
                {
                    printf(" ");
                }
            }
        }
        printf("\n");
    }
    return 0;
}

注意:
此题思路就是找' '(空格)找到空格就倒序输出一次,但要特别注意结尾的单词是没有空格的,所以我们可以自己添加一个。最后还要注意的就是输出格式,要判断k是否等于len再决定是否打空格(空格的输出不要用循环!!!)

还要注意下getchar()如果输入空格是会算进字符串的所以开始要加getchar
输入字符串尽量避免用scanf(“%c”,&x);这种格式 %c是很傲娇的!~~~

上一篇下一篇

猜你喜欢

热点阅读