#include <iostream>
using namespace std;
char sentence[] = "i like this program";
//1.reverse all chars
//2.rever only words.
void revese_char(char* _string) {
char* start = _string;
char* end = start;
while (*end) { ++end; }
--end;
while (start < end)
{
char tmp = *start;
*start = *end;
*end = tmp;
++start;
--end;
}
}
//----------------------------------------------
inline void reverse_from_to(char* start, char* end) {
while (start < end)
{
char tmp = *start;
*start = *end;
*end = tmp;
++start;
--end;
}
}
void reverse_words(char* _string) {
revese_char(_string);
cout<<"reversed chars::"<<sentence<<'\n';
char* start = _string;
char* end = start;
while (*end != '\0') {
if (*end == ' ') {
char* pos = end - 1;
reverse_from_to(start, pos);
++end;
start = end;
}else {++end;}
}
}
//-----------------------------------------------
int main()
{
reverse_words(sentence);
cout << sentence;
cin.get();
return 0;
}
Reverse a sentence
最新推荐文章于 2017-12-27 21:48:00 发布