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 }

 

你可能感兴趣的:(HDU)