天天看點

1061: 元素平移

題目描述

有n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數。寫一函數:實作以上功能,在主函數中輸入n個數和輸出調整後的n個數。

輸入

輸入資料的個數n n個整數 移動的位置m

輸出

移動後的n個數

樣例輸入

10
1 2 3 4 5 6 7 8 9 10
2      

樣例輸出

9 10 1 2 3 4 5 6 7 8      
1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <algorithm>
 5 #include <cmath>
 6 using namespace std;
 7 int a[100];
 8 int b[100];
 9 int main()
10 {
11     int n,m;
12     while(cin>>n){
13         for(int i=0;i<n;i++) cin>>a[i];
14         cin>>m;
15         m%=n;
16         for(int i=0;i<m;i++) b[i]=a[i+n-m];
17         for(int i=m;i<n;i++) b[i]=a[i-m];
18         for(int i=0;i<n;i++){
19             if(i==n-1) cout<<b[i];
20             else cout<<b[i]<<" ";
21         }
22         cout<<endl;
23     }
24     return 0;
25 }