关于#c语言#的问题:输入n个整数,将最后的m个数放到最前面,将前面n-m个数顺序后移

输入n(n<20)和m(m<n)的值,输入n个整数,将最后的m个数放到最前面,将前面n-m个数顺序后移。(用指针实现)
样例1:

输入:

7

3

1 2 3 4 5 6 7

输出:

5 6 7 1 2 3 4


const int n = 10;
int main()
{
    void adjust(int *a);
    int a[n];
    for (int i = 0; i < n; i++)    //输入10个整数  以数组形式储存
        cin >> a[i];
    int* p = a;
    adjust(p);
    for (int i = 0; i < 10; i++)
        cout << a[i] << " ";
    return 0;
}
void adjust(int *a)
{
    void adj(int *a);
    cout << "请输入将最后几个数字调整呢?" << endl;
    int m = 0;                                            //最后m个数字调整
    cin >> m;
    for (int i = 0; i < m; i++)             //进行m次 每一次都是把最后一个调至第一个
    {
        adj(a);
    }
}
 
void adj(int *a)     //首元素地址
{
    int tmp = *(a + n - 1);  //最后元素
    int* p = a;              //这里是首元素地址
    for (p += n - 1; p > a; p--)
        *p = *(p - 1);
    *a = tmp;
}