Monday, 21 August 2017

Reverse each word in a given string

Given a String of length N reverse each word in it. Words are separated by dots.
Input:
The first line contains T denoting the number of testcases. Then follows description of testcases. Each case contains a string containing dots and characters.

 
Output:
For each test case, output a String in single line containing the reversed words of the given String.
Constraints:
1<=T<=10
1<=Length of String<=2000

Example:
Input:
2
i.like.this.program.very.much
pqr.mno
Output:
i.ekil.siht.margorp.yrev.hcum
rqp.onm
                                C-Solution
#include <stdio.h>
#include<string.h>
int main() {
    int i,t,s,flag;
    char a[200];
    int test;
    scanf("%d",&test);
    while(test--){flag=0;
    scanf("%s",a);
    for(i=0;i<strlen(a);i++)
    {
        if(a[i]=='.')
        { s=i-1;
            while(s>=t)
            {
                printf("%c",a[s]);s--;
            }flag=0;printf(".");
        }
        else if(flag==0)
        {
            t=i;flag=1;
        }
    }s=strlen(a)-1;
        if(a[s]!='.')
        {
            while(s>=t){
            printf("%c",a[s]);--s;}
        }printf("\n");
    }
    return 0;
}

No comments:

Post a Comment