题目描述
将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I
输入描述:
每个测试输入包含1个测试用例: I like beijing. 输入用例#长度不超过100
输出描述:
依次输出倒置之后的字符串,以空格分割
示例1
输入
I like beijing.
输出
beijing. like I
代码
#include <string.h>
#include <stdio.h>
#include <ctype.h>
void ReserveStr(char *arr,int start,int end)
{
char ch;
if(arr==NULL)
return;
while(start<end)
{
ch=arr[start];
arr[start]=arr[end];
arr[end]=ch;
start++;
end--;
}
}
void ReserveWord(char *arr)
{
int start=0;
int end=0;
int len = strlen(arr);
if(arr==NULL)
return;
ReserveStr(arr,0,len-1);
while(start<len)
{
end=start;
if(arr[start]!=' ')
{
while(arr[end]!=' '&&arr[end]!='\0')
{
end++;
}
ReserveStr(arr,start,end-1);
start=end;
}
else
{
start++;
}
}
}
int main()
{
char str[100];
gets(str);
ReserveWord(str);
printf("%s",str);
}