實驗8 1 7 陣列迴圈右移 20分

2021-10-08 12:43:31 字數 826 閱讀 8410

本題要求實現乙個對陣列進行迴圈右移的簡單函式:乙個陣列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 2

1 2 3 4 5 6

5 6 1 2 3 4
**示例:

int arrayshift( int a, int n, int m )//傳入的陣列a是位址,需要在本函式內對a進行修改;

b[0] = temp;

}//第一層迴圈判斷右移次數;

for(int k=0;ka[k] = b[k];//將b陣列重新賦值給a陣列

return 0;

}

實驗8 1 7 陣列迴圈右移

兩種方法 方法一 此方法要開闢乙個新空間來存放陣列 int arrayshift int a,int n,int m 方法二 此方法不用開闢新空間 void reverse int a,int left,int right left為陣列中第乙個元素的下標,right為陣列中最後乙個元素的下標。in...

6 3 陣列迴圈右移(20 分)

6 3 陣列迴圈右移 20 分 本題要求實現乙個對陣列進行迴圈右移的簡單函式 乙個陣列 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個位置 ...

習題8 3 陣列迴圈右移(20 分)

本題要求實現乙個對陣列進行迴圈右移的簡單函式 乙個陣列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...