左旋字符串中的k个字符。
例如:
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Leftmove(char* str, int k){
int len=strlen(str);
for (int i = 0; i < k; i++){//控制旋转的次数
/*int tmp = str[0];//存储首元素
for (int j = 0; j < len; j++){
str[j] = str[j + 1];//将元素整体左移
}
str[len - 1] = tmp;//将首元素存放到最后一个元素的位置*/
int tmp = *str;//存储首元素
for (int j = 0; j < len; j++){
*(str+j) = *(str+j + 1);//将元素整体左移
}
*(str+len - 1) = tmp;//将首元素存放到最后一个元素的位置
}
}
int main()
{
char str[] = "ABCDEF";
int k = 0;
scanf("%d", &k);
Leftmove(str,k);
printf("%s",str);
system("pause");
return 0;
}
结果如下:

该博客介绍了如何使用C语言实现字符串的左旋操作,通过一个简单的示例展示了如何将字符串中的指定数量的字符向左移动。示例中给出了一个函数`Leftmove`,用于完成字符串左旋,并在`main`函数中进行调用和测试。
797

被折叠的 条评论
为什么被折叠?



