Reverse a sentence

来源:互联网 发布:淘宝直通车品牌资质 编辑:程序博客网 时间:2024/04/28 03:39
#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;}

0 0
原创粉丝点击