请问这个顺序循环填空题的四个填空该如何填?


#include <stdio.h>
void move(int*x, int n, int m);
int main()
{
    int a[80], i, m, n, *p;
    printf("请输入n,m:");
    scanf("%d%d", &n, &m);
    for (p = a, i = 0;i < n;i++)
        scanf("%d", &a[i]);//填空
    move(p, n, m);//填空
    printf("移动后的数据为:");
    for (i = 0;i < n;i++)
        printf("%d", a[i]);
    printf("\n");
    return 0;
}
void move(int*x, int n, int m)
{
    int i, j, k;
    for (i = 0;i < m;i++)
    {
        //填空
        for (j = 1;j < n;j++)
            //填空
        x[j - 1] = x[0];
    }
}

只有4个空可以填,已经确认以上代码除自己填好的两个空外其余代码与原题相同。
我已经填了两个不确定是否正确,但还有两个空想了挺久也没有想出结果。感觉最后两个空是数组内数组互换位置,我想的是将数组的一个值赋予k,然后给数组相应的位置,但是这样原本位置的数会被覆盖,等于失去了这个数字一样。会不会是题目的问题?