<AJJL004>随机10个数,取出5个最小值,从小到大排列(需考虑出现重复数的情况)

这个问题求解,代码越短越好!!

注:此处是输出最小5个值,不是该数列下标。如出现10个数中有六个重复,则就没有5个最小值,此种情况则输出4个数。并注明重复情况。

 1 Var2=-1
 2 For 10'生成10个数
 3 Randomize '随机
 4 Var1 = Int(50 * Rnd)'0-50
 5 If Var1>Var2 Then Redim Preserve var(Var1)
 6 var(Var1) = Var1'排序以及去掉重复
 7 Var2= Var1
 8 Next
 9 TracePrint join(Var)
10 For i = 0 To UBound(Var)
11 If Var(i) <> "" Then 
12 排序结果 = 排序结果 & " " & Var(i)
13 数量=数量+1
14 End If
15 If 数量=5 Then Exit For'只提取5个
16 Next
17 TracePrint 排序结果

 

posted @ 2013-04-01 16:10  DuguErren  阅读(160)  评论(0编辑  收藏  举报