用VB编写一程序,产生20个0~100的随机数,并用子过程的方法按从大到小的顺序排列显示

如题所述

'试一下:
PrivateSubCommand1_Click()
Dimarr(1To20),i
Fori=1To20
Randomize
arr(i)=Int(Rnd*101)
Next
fcarr
PrintJoin(arr,vbNewLine)'自己修改,我是直接打印的可以分开
EndSub
Functionfc(arr)
Dimi,j,t
Fori=LBound(arr)ToUBound(arr)-1
Forj=i+1ToUBound(arr)
IfVal(arr(i))t=arr(i):arr(i)=arr(j):arr(j)=t
EndIf
Next
Next
EndFunction
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-12
用冒泡排序方法:
Option Explicit
Option Base 1
Dim a(10) As Integer
Dim i As Integer
Dim n As Integer
Private Sub Command1_Click()
n = n + 1
If n >= 9 Then
Cls
n = 0
End If

For i = 1 To 10
a(i) = Int(Rnd * 100)

Print a(i);
Next i
Print
End Sub
Private Sub Command2_Click()
Dim j, l, t, s As Integer
n = n + 1
If n >= 9 Then
Cls
n = 0
End If
For i = 1 To 9
For j = i + 1 To 10
If a(j) < a(i) Then
t = a(j)
s = a(i)
a(i) = t
a(j) = s

End If
Next j
Next i
For l = 1 To 10
Print a(l);
Next l
Print
Print "---------------------------------------"
End Sub
相似回答