实现一个函数,可以左旋字符串中的k个字符

例如:
ABCD左旋一个字符得到BCDA
ABCD左旋两个字符得到CDAB

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Round_string(char* str, int n){
	int i = 0;
	int j = strlen(str);
	while (n){	//n在这里其实就是表示需要左旋的次数,只要不等于0就进入循环
		char tmp = str[0];	//首元素存到临时变量中
		for (i = 0; i < j - 1; ++i){
			str[i] = str[i + 1];	//利用for循环将后一个元素赋给前一个元素
		}
		//tiaochufor循环此时i的值为j - 1,str[i - 1]即为最后一个元素
		str[i] = tmp;
		--n;
	}
}
int main(){
	char str[] = "ABCD";
	Round_string(str, 3);
	printf("%s\n", str);
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44781107/article/details/90145686
今日推荐