题目描述
讲一句话的单词进行倒置。比如 I like beijing. 经过函数后变为:beijing. like I
输入描述
每个测试输入包含一个测试用例,输入用例长度不包括100
输出描述
一次输出后的字符串,一空格分割
解题思路
- 使用三步翻转法:
1.将字符串整体翻转 .gnijieb ekil I 2.反转内部单词 beijing. like I
具体实现
#include <stdio.h>
#include <string.h>
void reverse(char arr[],int start,int end)
{
int i = start;
int j = end-1;
while (i < j)
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
int main()
{
char arr[100] = { 0 };
gets(arr);
int sz = strlen(arr);
reverse(arr,0, sz);
int i = 0;
int start = 0;
for (i = 0; i < sz; i++)
{
if (arr[i] == ' ' || arr[i] == '\0')
{
reverse(arr, start, i);
start = i+1;
}
}
printf("%s\n", arr);
return 0;
}
|