HDU1062

字符串的翻转

注意一些特殊的情况即可

View Code
 1 /*
 2 字符翻转
 3 注意这种情况:_ _ ab_ _ _cc_ _
 4 "_"都是要输出的
 5 
 6 */
 7 #include<stdio.h>
 8 #include<string.h>
 9 const int maxn = 1105;
10 char s[ maxn ];
11 int main(){
12     int n;
13     scanf("%d",&n);
14     getchar();
15     while( n-- ){
16         int len;
17         gets( s );
18         //printf("s:%s\n",s);
19         len=strlen( s );
20         /*
21         for( int i=len-1;i>=0;i-- )
22             if( s[ i ]==' ') len--;
23             else break;
24             */
25         int st,e;
26         int flag=-1;
27         for( int i=0;i<len;i++ ){
28             if( i>=len ) break;
29             if( s[ i ]==' ' ) {printf(" ");continue;}
30             st=i;
31             for( int j=i;j<len;j++ ){
32                 if( s[ j ]==' ' ){
33                     e=j-1;
34                     for( int k=e;k>=st;k-- ) printf("%c",s[ k ]);
35                     printf(" ");
36                     i=j;
37                     break;
38                 }
39                 if( j==len-1 ){
40                     e=j;
41                     for( int k=e;k>=st;k-- ) printf("%c",s[ k ]);
42                     printf("\n");
43                     flag=1;
44                     i=j;
45                     break;
46                 }
47             }
48         }
49         if( flag==-1 ) printf("\n");
50     }
51     return 0;
52 }

 

posted @ 2012-12-16 22:52  xxx0624  阅读(557)  评论(0编辑  收藏  举报