【C语言】实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <stdlib.h>

void LeftMove(char *arr, int n)
{
	int i = 0;
	for (i = 0; i<n; i++)//而这个循环做到实现移动位数,每循环一次说明字符左移1位
	{
		char tmp = *arr;
		int j = 0;
	    while (*(arr + j + 1))
		{
			*(arr + j) = *(arr + j + 1);//这里实现将每位字符向前移动
			j++;
		}
		*(arr + j) = tmp;//将保存起来的第一位赋值给最后一位
	}
}

int main()
{
	char arr[] = "ABCDEFG";
	int n = 0;
	printf("%s\n", arr);
	printf("请输入左旋的位数:>\n");
	scanf("%d", &n);
	LeftMove(arr, n);
	printf("左旋后的字符串:>\n");
	printf("%s\n", arr);
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41562665/article/details/81241220