C++输入n个整数并存储,使前面各个数顺序向后移动m(m<n)个位置,最后m个数字变成最前的m个数字,存储,并输出移动后的新数字串
#include<iostream>
#define MAXLEN 200
using namespace std;
int a[MAXLEN],b[MAXLEN];
int * move(int a[],int n,int m);
int main(){
int n=0,m=0;
int *p = NULL;
cout << "输入n的值:";
cin >> n;
cout << "输入n个整数:" << endl;;
for (int i=0;i<n;i++){
cin >> a[i];
}
for(int i=0;i<n;i++){
b[i] = a[i];
}
cout<<"\n请输入要向后移动的位数m:";
cin>>m;
p = move(b, n, m);
cout<<"\n移动后的数字序列为:\n"<<endl;
for(int i=0; i<n;i++){
cout << *(p+i) << " ";
}
cout << endl;
return 0;
}
int * move(int a[], int n, int m){
int i=0;
for(i=0; i<m; i++){
int temp = a[n-1];
for(int j=n-2;j>=0;j--){
a[j+1] = a[j];
}
a[0] = temp;
}
return b;
}
}