题目:
数组中有n个数据,要将它们顺序循环向后移k位,即前面的元素向后移k位,后面的元素则循环向前移k位。例如 1、2、3、4、5循环移2位后为:4 、5、1、2、3。
#include <stdio.h>
void print(int * a, int length)
{
for(int i = 0; i < length; i++)
{
printf("%-2d", a[i]);
}
printf("\n");
}
int main()
{
int a[100] = {0};
int b[100] = {0};
int k, n;
printf("Please enter n,k:");
scanf("%d%d", &n, &k);
printf("The orig number :");
for (int i = 0; i < n; i++) scanf("%d", a+i);
for(int i = 0; i < n; i++)
{
b[(i+k)%n] = a[i];
}
printf("the reuslt number:");
print(b, n);
return 0;
}