Write a function that accepts a sentence as a parameter, and
returns the same with each of its words reversed. The
returned sentence should have 1 blank space between each
pair of words.
Demonstrate the usage of this function from a main program.
Example:
Parameter: “jack and jill went up a hill” Return Value:
“kcaj dna llij tnew pu a llih”
Answer Posted / ep
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
char *wreverse( char *phrase )
{
char *rev = NULL, c;
size_t len = strlen(phrase);
int i, j, ri, ws;
if (!len) return NULL;
if ( (rev = calloc( len + 1, sizeof(char) )) == NULL ) {
perror("calloc failed");
exit(2);
};
i = 0; ri = 0; ws = 0;
while ( i < len ) {
while ( i<len && isalpha(*(phrase+i)) ) i++;
if ( i<=len ) {
for ( j=i-1; j>=ws; j-- ) {
*(rev+ri) = *(phrase+j);
ri++;
}
for ( ; i<len && (!isalpha(*(phrase+i))) ; i++ ) {
*(rev+ri) = *(phrase+i);
ri++;
}
ws = i;
}
}
return rev;
}
int main()
{
char p[] = "jack and jill went up a hill";
char *r = NULL;
r = wreverse(p);
printf("%s\n", wreverse(p) );
free(r);
return 0;
}
| Is This Answer Correct ? | 12 Yes | 2 No |
Post New Answer View All Answers
Explain output of printf("Hello World"-'A'+'B'); ?
What is define c?
What is preprocessor with example?
For what purpose null pointer used?
What is file in c language?
Explain c preprocessor?
Explain the meaning of keyword 'extern' in a function declaration.
What are the different types of endless loops?
I heard that you have to include stdio.h before calling printf. Why?
What is the correct declaration of main?
What are the different types of C instructions?
What is a macro?
Tell me can the size of an array be declared at runtime?
Write a program to reverse a linked list in c.
What is the data segment that is followed by c?