左旋字符串k个字符(三步):

旋转前k个字符串,选择n- k个字符串,旋转整个字符串。


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <string.h>
#include<stdlib.h>


void Reverse(char* left, char* right)
{
    while (left < right)
    {
        char tmp = *left;
        *left = *right;
        *right = tmp;
        left++;
        right--;
    }
}


int main()
{
    char arr[] = "AABCD";
    int k = 0;
    scanf("%d", &k);
    int len = strlen(arr);

    Reverse(arr, arr + k - 1);
    Reverse(arr + k, arr + len - 1);
    Reverse(arr, arr + len - 1);

    printf("%s", arr);
    system("pause");
    return 0;
}