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 关注
- 106 浏览
添加回答
举报