//实现一个函数,可以左旋字符串中的k个字符。
//例如:
//ABCD左旋一个字符得到BCDA
//ABCD左旋两个字符得到CDAB
#include<stdio.h>
#include<string.h>
void turn(char* arr, int a,int k)
{
//无论左旋几个,首字母都要先保存起来
while (a--)
{
char t = arr[0];//保存首字母
int x = 0;
for ( x = 0; x < k ; ++x)
{
arr[x] = arr[x + 1];
arr[x + 1] = t;//每一趟将首字母放到末尾
}
}
}
int main(void)
{
char arr[] = "ABCDE";
int k = strlen(arr)-1;//字母往前移的趟数,看图片
int a = 0;
scanf("%d", &a);//旋转几个
turn(arr, a,k);
for (int x = 0; x <= k; ++x)
{
printf("%c", arr[x]);
}
}
10-09
323
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)