有10个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。
输入要求: 输入数据的个数n n个整数 移动的位置m ,测试用例统一为10
输出要求: 移动后的n个数
#include<iostream>
#include<stdio.h>
using namespace std;
void move(int arry[20], int n, int m)
{
int* p;
int end;
end = *(arry + n - 1);
for (p = arry + n - 1;p > arry;p--)
{
*p = *(p - 1);
}
*arry = end;
m--;
if (m > 0)
{
move(arry, n, m);
}
}
int main(void)
{
void move(int arry[20], int n, int m);
int number[20];
int n, m, i;
cin >> n;
for (i = 0;i < n;i++)
{
cin>>number[i];
}
cin >> m;
move(number, n, m);
for (i = 0;i < n;i++)
{
cout << number[i] << " ";
}
cout << endl;
return 0;
}