C++——有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输入n个整数,并输出调整后的n个数。用指针或引用方法处理

没注释的源代码

#include <iostream>

using namespace std;
void move(int *array,int n,int m);
int main()
{
    int number[100],n,m;
    cout<<"how many numbers?:";
    cin>>n;
    cout<<"please input "<<n<<" numbers:"<<endl;
    for(int i=0;i<n;i++)
    {
        cin>>number[i];
    }
    cout<<"how many places do you want move?:";
    cin>>m;
    move(number,n,m);
    cout<<"now they are:"<<endl;
    for(int i=0;i<n;i++)
    {
        cout<<number[i]<<" ";
    }
    return 0;
}
void move(int *array,int n,int m)
{
    int *p,array_end;
    array_end=*(array+n-1);
    for(p=array+n-1;p>array;p--)
        *p=*(p-1);
    *array=array_end;
    m--;
    if(m>0)move(array,n,m);
}