–
实现一个函数,可以左旋字符串中的k个字符
如:
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB
程序代码如下:
#include <stdio.h>
void change(char *p, char *q)
{
while (p < q)
{
char tmp = *p;
*p = *q;
*q = tmp;
p++;
q--;
}
}
int length(char c[])
{
int i = 0;
for (i = 0; c[i] != '\0'; i++)
{
;
}
return i;
}
void TurnLeft(char c[], int n)
{
change(c, c+n-1);
change(c+n, c+length(c)-1);
change(c, c+length(c)-1);
}
int main()
{
char c[] = "abcdef";
int k = 0;
int i = 0;
printf("c = %s\n", c);
printf("请输入要左旋的字符个数:\n");
scanf("%d", &k);
TurnLeft(c, k);
printf("c = %s\n", c);
return 0;
}
程序运行结果如下:

本文介绍了一个简单的C语言函数,该函数能够实现字符串中指定数量字符的左旋操作。通过两个示例说明了如何使用该函数来改变字符串的排列顺序,并提供了完整的源代码及运行结果。
806

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



