将一句话的单词进行倒置,标点不倒置。比如 "I like beijing.",经过处理后变为:"beijing. like I"。
字符串长度不超过100。
#include <stdio.h>
#include<assert.h>
void reverse(char* left,char* right)
{
assert(left);
assert(right);
while(left<right)
{
char temp=*left;
*left=*right;
*right=temp;
left++;
right--;
}
}
int main()
{
char arr[101]={0};
gets(arr);
int len=strlen(arr);
//逆序整个字符串
reverse(arr,arr+len-1);
//逆序每个单词
char* start=arr;
while(*start)
{
char* end=start;
while(*end!=' '&&*end!='\0')
{
end++;
}
reverse(start,end-1);
end++;
start=end;
}
printf("%s\n",arr);
return 0;
}