怎么写一个程序,使得英文句子逆序输出

如何写一个程序,使得英文句子逆序输出
类似于:输入you are a champion  输出champion a are you
【注意,空格也要逆序输出】
------解决方案--------------------
std::reverse满足你的要求~~
------解决方案--------------------
引用:
应该怎样应用??我只会数字的倒序输出

使strstrstrstrvectorstd::reverse

------解决方案--------------------

#include <iostream>
#include <iostream>
#include <algorithm>
#include <iterator>
#include <string>
#include <vector>

int main()
{
   std::istream_iterator<std::string> st(std::cin), end;
   //从控制台接受输入,直到输入流结束(Ctrl+Z)
   std::vector<std::string> words(st,end);
    //按单词逆序输出
    std::reverse_copy(words.begin(),words.end(),
       std::ostream_iterator<std::string>(std::cout," "));
    std::cout << std::endl;
    return 0;
}
//rock and roll
//^Z
//roll and rock


------解决方案--------------------

void RS(char *bp, char *ep)
{
while(bp < ep)
{
char tem = *bp;