实现一个函数,可以左旋字符串中的k个字符。
例如:
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
#include <stdio.h>
#include <string.h>
void LeftRotate(char* arr, int n)
{
int len = strlen(arr);
n = n % len; // 处理n大于字符串长度的情况
for (int i = 0; i < n; i++)
{
//定义临时变量储存要移位的字符
char temp = arr[0];
//将字符串向前移动
for (int j = 0; j < len - 1; j++)
{
arr[j] = arr[j + 1];
}
//将左旋的字符进行分配
arr[len - 1] = temp;
}
}
int main()
{
char arr[] = "ABCD";
int n;
printf("请输入左旋多少字符:");
scanf("%d", &n);
LeftRotate(arr, n);
printf("%s", arr);
return 0;
}