这个题的思路其实并不是很难理解,左旋字符串,可以先将第一个字符和最后一个字符交换,然后进行一个循环,就可以解决这个问题了;具体代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<Assert.h>
void levo(char *pstr, int SZ,int key)
{
assert(pstr != NULL);
int i = 0;
int j = 0;
for (i = 0; i < key; i++)
{
char tmp = pstr[0];
for (j = 0; j < SZ - 1; j++)
{
pstr[j] = pstr[j + 1];
}
pstr[SZ - 1] = tmp;
}
}
int main()
{
char str[] = "ABCDEFGH";
int key = 0;
int SZ = sizeof(str) / sizeof(str[0])-1;
printf("请输入你要旋转字符的个数");
scanf("%d", &key);
levo(str,SZ,key);
printf("%s", str);
return 0;
}