n個數字存入陣列,將其迴圈左移x位,輸出移動結果。
樣例:
10
1 2 3 4 5 6 7 8 9 10
34 5 6 7 8 9 10 1 2 3
上述是十個數字,向左移動三位,輸出移動結果在最後一行。
想象乙個長度位n的鉛筆,在長度為x的部分折成兩段,即第一段長度為x,第二段長度為n-x。迴圈左移的x位的作用就是相當於將鉛筆的第一段接在第二段後面。
具體做法就是將第一段和第二段分別掉頭,再將第一段和第二段視為整體掉頭,就可將鉛筆的前x的長度拼接到最後。
#
include
#define
maxn
105int n;
// 陣列長度
void
reverse
(int a,
int b,
int c)
}void
func
(int a,
int x)
intmain()
scanf
("%d"
,&x)
;func
(a, x)
;for
(int i =
0;i < n;i++
)printf
("\n");
return0;
}
程式設計訓練 迴圈數
迴圈數是n位長度的整數,當乘以從1到n的任何整數時,產生原始數字的 迴圈 也就是說,如果考慮最後乙個數字之後的數字 繞 回到第乙個數字,兩個數字中的數字串行將是相同的,儘管它們可能從不同的位置開始。例如,數字142857是迴圈的,如下表所示 142857 1 142857 142857 2 2857...
陣列迴圈左移
本題要求實現乙個對陣列進行迴圈左移的簡單函式 乙個陣列 a中存有 n 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移 m 個位置,即將 a中的資料由 a 0 a 1 a n 1 變換為 a m a n 1 a 0 a 1 a m 1 最前面的 m個數迴圈移至最後面的 m個位置 如果還需要...
陣列迴圈左移
a中存有n 0 個整數,在不允許使用另外陣列的前提下,將每個整數迴圈向左移m 0 個位置,即將 a中的資料由 a 0 a 1 a n 1 變換為 a m a n 1 a 0 a 1 a m 1 最前面的 m個數迴圈移至最後面的 m個位置 如果還需要考慮程式移動資料的次數盡量少,要如何設計移動的方法?...