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.
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.
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
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
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;
}
#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