2.实现一个函数,可以左旋字符串中的k个字符。
ABCD左旋一个字符得到BCDA
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
下面看一下实现方法:
#include<stdio.h>
#include<string.h>
void move_left(char*p,int num)
{
int i = 0;
for(i=0;i<num;i++)//而这个循环做到实现移动位数,每循环一次说明字符左移1位
{
char temp=*p;
int j = 0;
while(*(p+j+1))
{
*(p+j)=*(p+j+1);//这里实现将每位字符向前移动,abcd会被改为bcda
j++;
}
*(p+j)=temp;
}
}
int main()
{
char arr[5]="ABCD";
int i = 0;
printf("请输入你想移动的位数:\n");
scanf("%d",&i);
move_left(arr,i);
printf("这是移动后的字符数组:\n");
printf("%s",arr);
return 0;
}