实现一个函数,可以左旋字符串中的k个字符
AABCD→ABCDA
ABCDA→BCDAA
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int left_move(char *arr, int k)
{
// int start = 0;
int end = strlen(arr)-1 ;
int tmp;
int i = 0;
while (k)
{
tmp = arr[0];
for (i = 0; i < (strlen(arr) ); i++)
{
if (arr[i+1])
arr[i] = arr[i + 1];
}
arr[end] = tmp;
k--;
}
}
int main()
{
char arr[] = { "AABCD" };
int k;
printf("%s\n", arr);
printf("请输入要左旋的字符个数\n");
flag:
scanf("%d", &k);
if (k < (strlen(arr)))
left_move(arr, k);
else
{
printf("请重新输入:\n");
goto flag;
}
printf("%s\n", arr);
system("pause");
return 0;
}本文出自 “无以伦比的暖阳” 博客,请务必保留此出处http://10797127.blog.51cto.com/10787127/1713469
原文:http://10797127.blog.51cto.com/10787127/1713469