移数
描述
有n个整数,使前面各数字顺序向后移动m个位置,最后m个数变成最前面m个数,见图8.43。
写一个函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数。
图8.43
输入
输入为单组测试数据。
首先输入两个整数n和m(0 < n <= 1e5,0 <= m <=1e5)。
然后输入n个整数,表示要移动的数。
输出
输出各数字顺序向后移动m个位置后的序列,数字之间用空格隔开。
输入样例 1
6 2 1 3 6 7 9 8
输出样例 1
9 8 1 3 6 7
#include <iostream>
using namespace std;
int main()
{
int m,n;
cin>>n>>m;
int a[n],b[n];
for(int i=0; i<n; i++)
cin>>a[i];
for(int i=0; i<n; i++)
{
if(i<m-1)
{
for(int j=m; j>0; j--)
{
b[i]=a[n-j];
i++;
}
}
b[i]=a[i-m];
}
for(int i=0; i<n; i++)
cout<<b[i]<<" ";
cout<<endl;
return 0;
}