请教一个指针问题
给定一组整数,要求利用数组把这组数保存起来,再利用指针实现对数组中的数循环移动。假定共有n个整数,则要使前面各数顺序向后移m个位置,并使最后m各数变为最前面的m各数。输入样例
11 4
15 3 76 67 84 87 13 67 45 34 45
输出样例
67 45 34 45 15 3 76 67 84 87 13
思路是怎么样的?

程序代码:/* 算法分析:
先将N-m位的数赋给一个中转变量,再将N-m前的各位数后移一位,此时将中转变量赋给第一位,后面以此推进,直到结束。*/
#include <stdio.h>
#define N 10
int main ()
{
int a[N], i, j, m, k, b, x, temp;
for (i = 0; i < N; ++ i)
scanf ("%d",&a[i]);
printf ("输入后移位数\n\t");
scanf ("%d",&m);
j = N - m;
x = j;
for (i = 0; i < m; ++ i)
{
temp = a[j];
for (k = 0, b = j - 1; k < x; ++ k, -- b)
a[b + 1] = a[b];
a[i] = temp;
++ j;
}
for (i = 0; i < N; ++ i)
printf("%d\t",a[i]);
return 0;
}
