Search This Blog

Wednesday, October 28, 2015

Reverse all words in a given string.

1:  #include <stdio.h>  
2:  #include <stdlib.h>  
3:  #include <string.h>  
4:  void reverse(char *start,char *end)  
5:  {  
6:    char temp;  
7:    while(1)  
8:    {  
9:      if ( end > start)  
10:      {  
11:        temp = *start;  
12:        *start = *end;  
13:        *end = temp;  
14:      } else {  
15:        break;  
16:      }  
17:      start++;  
18:      end--;  
19:    }  
20:  }  
21:  void word_reverse(char *str)  
22:  {  
23:    int xlen= strlen(str);  
24:    char *start,*end,temp,*rev = str;  
25:    start = str;  
26:    end = str+xlen-1;  
27:    reverse(start,end);  
28:    start = str;  
29:    while(1)  
30:    {  
31:      if(*rev != ' ' && *rev != '\0' )  
32:      {  
33:        rev++;  
34:      } else {  
35:        reverse(start,rev-1);  
36:        start = rev+1;  
37:        rev++;  
38:      }  
39:      if(rev)  
40:        break;  
41:    }  
42:  }  
43:  main()  
44:  {  
45:    char str[100] = "my name is john";  
46:    word_reverse(str);  
47:    printf("Revrse : %s\n",str);  
48:  }  

No comments:

Post a Comment