Input: I____am__a__student
Output: student__a__am____I
思路:
1、直接翻转一下
2、把每个单词找出来,原地自身翻转
指针实现
```c
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define maxn 512
void myreverse(char *start,char *end) {
char temp;
while (start < end) {
temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char a[maxn] = {0};
while (gets(a) != NULL) {
char *ps, *pe;
myreverse(a,a+strlen(a)-1);
//puts(a);
ps = pe = a;//ps,pe都指向字符串的开始
while (*ps != '\0') {
while (*ps == ' ') {
ps++;
}
pe = ps;
while (*ps != ' '&&*ps!='\0') {
ps++;
}
myreverse(pe,ps-1);
}
puts(a);
memset(a, 0, sizeof(a));
}
return 0;
}
/*
I am a student\n
hello world how are you \n
*/