PTA 陣列迴圈右移

2021-10-05 09:18:24 字數 944 閱讀 4309

本題要求實現乙個對陣列進行迴圈右移的簡單函式:乙個陣列a中存有n(>0)個整數,將每個整數迴圈向右移m(≥0)個位置,即將a中的資料由(a

​0​​ a

​1​​ ⋯a

​n−1

​​ )變換為(a

​n−m

​​ ⋯a

​n−1

​​ a

​0​​ a

​1​​ ⋯a

​n−m−1

​​ )(最後m個數迴圈移至最前面的m個位置)。

函式介面定義:

int arrayshift( int a, int n, int m );

其中a是使用者傳入的陣列;n是陣列的大小;m是右移的位數。函式arrayshift須將迴圈右移後的陣列仍然存在a中。

裁判測試程式樣例:

#include

#define maxn 10

int arrayshift( int a, int n, int m );

int main()

printf("\n");

return 0;

}/* 你的**將被嵌在這裡 */

輸入樣例:

6 21 2 3 4 5 6

輸出樣例:

5 6 1 2 3 4

int

arrayshift

(int a,

int n,

int m )

/*for (i = 0; i <= n - 1 - m; i++)

*/for(i = n - m -

1, j =

0; i >=

0; i--

)/*for (i = 0; i < n; i++)

a[i] = b[i];*/

for(i =

0; i < m; i++

)}

PTA 陣列元素迴圈右移問題

乙個陣列aaa中存有n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m 0 個位置,即將aaa中的資料由 a 0 a 1 a n 1 變換為 a n m a n 1 a 0 a 1 a n m 1 最後m個數迴圈移至最前面的m個位置 如果需要考慮程式移動資料的次數盡量少,要如何設計...

PTA 陣列元素迴圈右移問題

乙個陣列a中存有n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m 0 個位置,即將a中的資料由 a 0 a 1 a n 1 變換為 a n m a n 1 a 0 a 1 a n m 1 最後m個數迴圈移至最前面的m個位置 如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方...

PTA 1008 陣列元素迴圈右移問題

乙個陣列a中存有n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向右移m 0 個位置,即將a中的資料由 a 0 a 1 a n 1 變換為 a n m a n 1 a 0 a 1 a n m 1 最後m個數迴圈移至最前面的m個位置 如果需要考慮程式移動資料的次數盡量少,要如何設計移動的方...