
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char str[1005];
while(cin.getline(str,1005)){
int left=0,right=strlen(str)-1;
char tmp;
while(left<right){//全部逆置
tmp=str[left];
str[left]=str[right];
str[right]=tmp;
left++;
right--;
}
int p=0,q;
for(int j=0;j<strlen(str)+1;j++){//单个单词逆置
if(str[j]==' '||str[j]=='\0'){
q=j-1;
while(p<q){
tmp=str[p];
str[p]=str[q];
str[q]=tmp;
p++;
q--;
}
p=j+1;
}
}
cout<<str<<endl;
}
return 0;
}
本文深入探讨了字符串逆序的算法实现,通过C++代码详细解释了如何将整个字符串及其中每个单词分别进行逆序处理的过程。算法首先将整个字符串逆序,然后逐个逆序每个单词,达到单词顺序颠倒而单词内部字符顺序正常的效果。

851





