本題要求實現乙個對陣列進行迴圈右移的簡單函式:乙個陣列a中存有n(>0)個整數,將每個整數迴圈向右移m(≥0)個位置,即將a中的資料由(a0a1⋯an−1)變換為(an−m⋯an−1a0a1⋯an−m−1)(最後m個數迴圈移至最前面的m個位置)。
函式介面定義:
int
arrayshift
(int a,
int n,
int m )
;
其中a[ ]是使用者傳入的陣列;n是陣列的大小;m是右移的位數。函式arrayshift須將迴圈右移後的陣列仍然存在a中。
裁判測試程式樣例:
#include
#define maxn 10
intarrayshift
(int a,
int n,
int m )
;int
main()
printf
("\n");
return0;
}/* 你的**將被嵌在這裡 */
輸入樣例:
621
2345
6
輸出樣例:
561234
解答:
int
arrayshift
(int a,
int n,
int m )
for(j=
0;j)else
}return a;
}
先把a陣列複製乙份記做t陣列,設n=7,m=2
假設a陣列為[1,2,3,4,5,6,7],則此時t陣列也為[1,2,3,4,5,6,7]
a陣列向右移位2次後為:[6,7,1,2,3,4,5],這是應該返回的陣列a
習題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...
習題8 3 陣列迴圈右移 (20 分)
本題要求實現乙個對陣列進行迴圈右移的簡單函式 乙個陣列a中存有n 0 個整數,將每個整數迴圈向右移m 0 個位置,即將a中的資料由 最後m個數迴圈移至最前面的m個位置 函式介面定義 int arrayshift int a,int n,int m 其中a是使用者傳入的陣列 n是陣列的大小 m是右移的...
習題8 3 陣列迴圈右移 20分
進博主技術群,與大佬交流,領取乾貨學習資料 快速找到所需題目 浙大版c語言程式設計第三版題目集一覽表 本題要求實現乙個對陣列進行迴圈右移的簡單函式 乙個陣列a中存有n 0 個整數,將每個整數迴圈向右移m 0 個位置,即將a中的資料由 a 0 a1 a n 1 變換為 a n m a n 1a0a1 ...