采用循环移位,对需要旋转的k个字符按顺序进行旋转,先将要旋转的一个字符保存起来,将后面的往前挪动一位,再将保存起来的这个字符赋给最后一位,这样连续循环k次,就可以完成了。代码实现如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void xuanzhuan(char *p, int n)
{
int i;
int len = strlen(p);
for (i = 0; i <= n;i++)
{
char tmp = p[0];
int j = 0;
for (j = 0; j < len - 1;j++)
{
p[j] = p[j + 1];
}
p[len - 1] = tmp;
}
}
int main(){
char arr[] = "abcdef";
int n = 0;
scanf("%s\n", arr);
xuanzhuan(arr, n);
printf("%s\n", arr);
system("pause");
return 0;
}