2 回答

TA貢獻1829條經驗 獲得超7個贊
技術要點:隨機數,冒泡排序.
(如果c語言這兩項不是很熟,請查閱網上資料)
思路:
1.先產生20個隨機數,裝入大小為20的數組a.
2.利用冒泡法,使數組a中的數從小到大排序.
3.定義一個大小為23的數組b,將數組a中的數裝入b的前20位,再把任意輸入的三個整數裝入b的后三位.
4.再進行一次冒泡排序.
5.按下標順序輸出.
由于本人專精c#,c的有些語法不是很熟了,只能給你點到這個地方.

TA貢獻1804條經驗 獲得超3個贊
Sub SORT_ARRAY()
Dim X, Y, Z, TEMP
Dim A_ARRAY(20)
Dim B_ARRAY(23)
Dim I, J, SWITCH
'This variable is used to control the loop
SWITCH = 0
'Move value to array
For I = 1 To 20
'array a is for 20 elements data
A_ARRAY(I) = Sheet1.Cells(I, 1).Value
'array b is for 23 elements data including 3 user input data
B_ARRAY(I) = Sheet1.Cells(I, 1).Value
Next
B_ARRAY(21) = Sheet1.Cells(21, 1).Value
B_ARRAY(22) = Sheet1.Cells(22, 1).Value
B_ARRAY(23) = Sheet1.Cells(23, 1).Value
'Sort Array
Do Until SWITCH = 1
SWITCH = 1
For I = 1 To 22
J = I + 1
If B_ARRAY(I) > B_ARRAY(J) Then
TEMP = B_ARRAY(I)
B_ARRAY(I) = B_ARRAY(J)
B_ARRAY(J) = TEMP
SWITCH = 0
End If
Next
Loop
'Move value back to excel cells
For I = 1 To 23
Cells(I, 1).Value = B_ARRAY(I)
Next
End Sub
以上這段程序是用excel vba寫的 經過測試可以用我想你那邊的程序 也可以套用這個邏輯
- 2 回答
- 0 關注
- 142 瀏覽
添加回答
舉報