zzy-c

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>

void reverse(char* left, char* right)
{
    while (left < right)
    {
        char tmp = 0;
        tmp = *left;
        *left = *right;
        *right = tmp;

        left++;
        right--;
    }
}
int main()
{
    char arr[100] = {0};
    //输入 I like beijing.
    gets(arr);
    //三步翻转法
    //1.字符串整体翻转
    //.gnijieb ekil 
    int len = strlen(arr);
    reverse(arr, arr + len -1);
    //2.每个单词逆序
    //beijing. like I
    char* start = arr;
    while (*start)
    {
        char* end = start;
        while (*end != ' ' && *end != '\0')
        {
            end++;
        }
        //逆序一个单词
        reverse(start, end - 1);
        if (*end == ' ')
            start = end + 1;
        else
            start = end;
    }
    printf("%s", arr);
    return 0;
}

 

posted on 2022-04-05 15:22  zzy_C  阅读(52)  评论(0)    收藏  举报