2 回答

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

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊
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寫的 經(jīng)過測(cè)試可以用我想你那邊的程序 也可以套用這個(gè)邏輯
- 2 回答
- 0 關(guān)注
- 131 瀏覽
添加回答
舉報(bào)