Header Ads

03 - WAP to Print the Given String in a Reverse Order.


This Program Prints the given String in Reverse Order without reversing the Characters of the String.

#include 
#include 
#define MAX_SIZE 100 // Maximum string size

int main()
{
    char str[100], reverse[100];
    int len, i, index, wordStart, wordEnd, yes;
    printf("Enter any string: ");
    gets(str);
    len   = strlen(str);
    index = 0;

    printf("String Length = %d\n", len);

    // Start checking of words from the end of string
    wordStart = len - 1;
    wordEnd   = len - 1;

    while(wordStart > 0)
    {
     // If a word is found
       if(str[wordStart] == ' ')
       {
        // Add the word to the reverse string
          i = wordStart + 1;
       while(i <= wordEnd)
       {
           reverse[index] = str[i];
           i++;
              index++;
          }
             reverse[index++] = ' ';
             wordEnd = wordStart - 1;
       }
         wordStart--;
       }

     // Finally add the last word
     for(i=0; i<=wordEnd; i++)
     {
         reverse[index] = str[i];
         index++;
     }

     // Add NULL character at the end of reverse string
     reverse[index] = '\0'; 
     printf("Original string : %s\n", str);
     printf("Reverse ordered words : %s \n", reverse);
 
    return 0;
}

Program Output:
 

No comments