代码

#include
<iostream>
#include
<utility>
using namespace std;

//先逆转整个字符串,然后再逐单词逆转
char * reveser_str(char *beg,char *end=NULL)
{
if (end==NULL)
{
end
=beg;
while(*end!='\0')
{
++end;
}
--end;
}
char *p=beg;
while(p<end)
{
swap(
*p,*end);
++p;
--end;
}
return beg;
}
char* reveser_by_word(char *str)
{
reveser_str(str);
char *beg=str,*end=str;
while(*end!='\0')
{
if (*end==' ')
{
reveser_str(beg,end
-1);
beg
= end+1;
}
++end;
}
reveser_str(beg,end
-1);
return str;
}
int main()
{
char str[256];
while (cin.getline(str,sizeof(str)))
{
cout
<<reveser_by_word(str)<<endl;
}
return 0;
}

相关文章:

  • 2021-09-22
  • 2022-03-09
  • 2022-12-23
  • 2021-12-25
  • 2021-10-06
  • 2021-12-18
  • 2022-12-23
猜你喜欢
  • 2021-10-11
  • 2022-12-23
  • 2021-06-08
  • 2022-02-21
  • 2021-07-19
  • 2021-05-02
相关资源
相似解决方案