写正确函数需要注意的地方:翻转句子中单词的顺序。

来源:互联网 发布:电脑快捷键软件 编辑:程序博客网 时间:2024/05/01 21:51
void invert(char* a, int start, int end){for(;start<end;++start,--end){char temp=a[start];a[start]=a[end];a[end]=temp;}}void invertwords(char* a, int start, int end){invert(a,start, end);for(int i=start;i<=end;++i)//需要注意<=end。{if(a[i]=='.'){invert(a, start, i-1);start=i+1;}}invert(a, start, end);//需要注意最后一个单词的反转。}int _tmain(int argc, _TCHAR* argv[]){char a[1000];scanf("%s", a);invertwords(a, 0, strlen(a)-1);printf("%s", a);return 0;}


1. 遍历时的终止条件为<=end。保证最后一个单词后面如果为"."能够检测到。

2. 注意最后一个单词的反转。

原创粉丝点击