In this problem, you are given several sentences, and you have to print the reversal of each of them.
A reversal of a sentence is the reversed order of words in the original sentence. For example, for the input string "this is a book", the result should be "book a is this".
Hint 1: for the slides in the lecture, we suggest you to do the task by a recusive function. The function seeks the first word from current location, and call itself recursively. Before each return, the function will print the word it found. Then all words will be printed in the reversed order.
The function prototype is something like this:
void sentence_reversal( char *now ) ; // which seek the first word from *now, and pass an new *now location to the called function
And the resursion is like the following figure:
this (4th printed word)
-> is (3rd printed word)
-> a (2nd printed word)
-> book (1st printed word)
Hint 2: Print the spaces between words, and there sould be no blanks (spaces) at the begin or the end of new setences. If the original setence has only one word, print the word directly without any spaces.
Note: Another method to solve this problem is seeking words from the end of the original setence. But we strongly recommend you to try the recursive way as a practice.
There are several lines of input, and each line presents a setence.
No lines are longer than 500 characters, and any empty lines in the input should be skipped. At most 10 sentences will appear in a test case.
Words in setences are seperated by a space (' '). There will be no continuous spaces, or any spaces at the begin or end of the setences.
Print each reversal sentence, and separate them by the new line symbol ('\n'). All words in a reversal sentence are seperate by a space.