ABCDCE左旋一个字符得到BCDEA
ABCDE右旋两个字符得到DEABC
ABCDCE左旋两个字符得到CDEAB
void left(char arr[],int n,int s)
{
int i = 0;
int j = 0;
char arr1[10] = { 0 };
for (i = 0; i < s; i++)
{
if (i < s-n)
{
arr1[i] = arr[i + n];
j++;
}
else
{
arr1[i] = arr[i - j];
}
printf("%c ", arr1[i]);
}
}
int main()
{
char arr[] = "ABCDEFGH";
int k = 0;
scanf("%d", &k);
int ret = 0;
ret = strlen(arr);
k = k%ret;
left(arr,k,ret);
return 0;
}
ABCDE右旋一个字符得到EABCD
ABCDE右旋两个字符得到DEABC
void left(char arr[],int n,int s)
{
int i = 0;
int j = n;
char arr1[10] = { 0 };
for (i = 0; i < s; i++)
{
if (n>0)
{
arr1[i] = arr[s-n];
}
else
{
arr1[i] = arr[i-j];
}
n--;
printf("%c ", arr1[i]);
}
}
int main()
{
char arr[] = "ABCD";
int k = 0;
scanf("%d", &k);
int ret = 0;
ret = strlen(arr);
k = k%ret;
left(arr,k,ret);
return 0;
}