ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
ABCD
BACD
BCAD
BCDA
CBDA
CDBA
CDAB
发现规律: 如果左旋一个字符则可以将第一个字符依次与后面的字符交换位置
如果左旋k个字符则可以将上面的操作进行k次
#include<stdio.h>
#include<string.h>
#define _CRT_SECURE_NO_WARNINGS void Change_str(char* start,char* end,int num)
{
//ABCD
//BACD
while (*end!='\0')
{
*start = *start^*end;
*end = *start^*end;
*start = *start^*end;
++start;
++end;
}
} int main()
{
char str[];
printf("请输入一段字符串:\n");
scanf("%s",&str);
printf("请输入左旋的字符数k:\n");
int k = ;
scanf("%d",&k);
int num = (int)strlen(str);
for (int i = ;i < k;++i)
{
Change_str(str, str + , num);
}
printf("%s\n", str); return ;
}