山东省第七届ACM大学生程序设计竞赛 K题 字符串逆置

题意:

给你一个字符串,让你把字符串中的每一个单词逆置过来输出。

分析:

队友敲的这个题,卡在了她不会读入空格,真心尴尬——gets()
每次碰到空格,就往前遍历输出,碰到空格或者开头就停止,继续往后遍历。

代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char c[10005];
int main()
{
   int n,i,j;
   scanf("%d",&n);
   getchar();
   while(n--)
   {
       memset(c,0,sizeof(c));
       //scanf("%s",c);
       gets(c);
//       for(i=0;i<strlen(c);i++)
//            printf("%c",c[i]);
       for(i=0;i<strlen(c);i++){
            if(c[i]==' '){
                for(j=i-1;c[j]!=' '&&j>=0;j--){
                    printf("%c",c[j]);
                    //putchar(c);
                }
                printf(" ");
            }
       }
       for(i=strlen(c)-1;c[i]!=' '&&i>=0;i--)
            printf("%c",c[i]);
        printf("\n");
   }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/shensiback/article/details/80167546