实现一个函数,可以左旋字符串中的k个字符。
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<Windows.h>
void left_move(char *p, int n)
{
int i = 0;
for (i = 0; i < n; i++)
{
char tmp = *p; //第一位存起来
int j = 0;
while (*(p + 1 + j))
{
*(p + j) = *(p + j + 1);//把后一位赋给前一位
j++;
}
*(p + j) = tmp;//将前面的赋给后面
}
}
int main()
{
char arr[] = "ABCD";
int num = 0;
printf("输入左转次数:");
scanf("%d", &num);
left_move(arr, num);
printf("左转后字符串:");
printf("%s\n", arr);
system("pause");
return 0;
}