将i like beijing.
逆序为beijing. like i
思路:
先逆序为.:gnijieb ekil i
再将每个单词逆序为:beijing. like i
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
//i like beijing.
//.gnijieb ekil i
//beijing. like i
void reverse(char* l, char* r)
{
while (l < r)
{
char tmp = *l;
*l = *r;
*r = tmp;
l++;
r--;
}
}
int main()
{
char arr[100] = { 0 };
gets(arr);
int len = strlen(arr);
//逆置字符串
char* left = arr;
char* right = arr + len - 1;
reverse(left, right);
//每个单词逆置
char* start = arr;
char* acc = arr;
while(*acc!='\0')
{
while (*acc != ' '&&*acc!='\0')
{
acc++;
}
reverse(start, acc - 1);
acc++;
start = acc;
}
printf("%s\n", arr);
return 0;
}