#include<stdio.h>
/* function to reverse a string */
void reverse(char *start, char *end);
/*Function to reverse words*/
void reversewords(char *s)
{
char *word = s;
char *temp = s;
/*start reversing the individual words*/
while( *temp )
{
temp++;
if (*temp == '\0')
{
reverse(word, temp-1);
}
else if(*temp == ':')
{
reverse(word, temp-1);
word = temp+1;
}
}
reverse(s, temp-1);/*Reverse the resultant string from beginning to end including spaces*/
}
/*Function to reverse a string this is similar to earlier blog post to reverse a string */
void reverse(char *start, char *end)
{
char temp;
while (start < end)
{
temp = *start;
*start++ = *end;
*end-- = temp;
}
}
int main()
{
char s[] = "23:24:28:10:29:18:12:24:11:27:10:22:10:20:28";
char *temp = s;
printf("Original string: %s\n",s);
reversewords(s);
printf("Reverse word string: %s\n", s);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KLyogZnVuY3Rpb24gdG8gcmV2ZXJzZSBhIHN0cmluZyAqLwp2b2lkIHJldmVyc2UoY2hhciAqc3RhcnQsIGNoYXIgKmVuZCk7CiAKLypGdW5jdGlvbiB0byByZXZlcnNlIHdvcmRzKi8Kdm9pZCByZXZlcnNld29yZHMoY2hhciAqcykKewogIGNoYXIgKndvcmQgPSBzOwogIGNoYXIgKnRlbXAgPSBzOyAKIAogIC8qc3RhcnQgcmV2ZXJzaW5nIHRoZSBpbmRpdmlkdWFsIHdvcmRzKi8KICB3aGlsZSggKnRlbXAgKSAKICB7CiAgICB0ZW1wKys7CiAgICBpZiAoKnRlbXAgPT0gJ1wwJykKICAgIHsKICAgICAgcmV2ZXJzZSh3b3JkLCB0ZW1wLTEpOwogICAgfQogICAgZWxzZSBpZigqdGVtcCA9PSAnOicpCiAgICB7CiAgICAgIHJldmVyc2Uod29yZCwgdGVtcC0xKTsKICAgICAgd29yZCA9IHRlbXArMTsKICAgIH0KICB9ICAKICByZXZlcnNlKHMsIHRlbXAtMSk7LypSZXZlcnNlIHRoZSByZXN1bHRhbnQgc3RyaW5nIGZyb20gYmVnaW5uaW5nIHRvIGVuZCBpbmNsdWRpbmcgc3BhY2VzKi8KfQovKkZ1bmN0aW9uIHRvIHJldmVyc2UgYSBzdHJpbmcgdGhpcyBpcyBzaW1pbGFyIHRvIGVhcmxpZXIgYmxvZyBwb3N0IHRvIHJldmVyc2UgYSBzdHJpbmcgKi8Kdm9pZCByZXZlcnNlKGNoYXIgKnN0YXJ0LCBjaGFyICplbmQpCnsKICBjaGFyIHRlbXA7CiAgd2hpbGUgKHN0YXJ0IDwgZW5kKQogIHsKICAgIHRlbXAgPSAqc3RhcnQ7CiAgICAqc3RhcnQrKyA9ICplbmQ7CiAgICAqZW5kLS0gPSB0ZW1wOwogIH0KfQppbnQgbWFpbigpCnsKICBjaGFyIHNbXSA9ICIyMzoyNDoyODoxMDoyOToxODoxMjoyNDoxMToyNzoxMDoyMjoxMDoyMDoyOCI7CiAgY2hhciAqdGVtcCA9IHM7CiAgcHJpbnRmKCJPcmlnaW5hbCBzdHJpbmc6ICVzXG4iLHMpOwogIHJldmVyc2V3b3JkcyhzKTsKICBwcmludGYoIlJldmVyc2Ugd29yZCBzdHJpbmc6ICVzXG4iLCBzKTsKICByZXR1cm4gMDsKfQ==