有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
代码:
int main(void) {
void move(int a[], int c, int b);
int a[10] = { 1,2,3,4,5,6,7,8,9,10 };
int m;
scanf_s("%d", &m);
for (int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
move(a, 10, m);
for(int i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
void move(int a[], int n , int m) {
int array_end = a[n - 1];
for (int i = n - 1; i > 0; i--) {
a[i] = a[i - 1];
}
a[0] = array_end;
m--;
if (m > 0) {
move(a, n, m - 1);
}
}