vb 编程 如何利用随机函数产生15个10到90的奇数组成的数列,并显示在标签中???要程序

vb 编程 如何利用随机函数产生15个10到90的奇数组成的数列,并显示在标签中???要程序

写成函数, 第一参数是生成的个数,第二个参数是 最小数,第三个为最大数。返回的是以逗号分割的字符串
如 getnum(15, 10, 90)
在窗体中放一个 Label 然后,再添加放一个按钮……
生成函数如下
Function getnum(ByVal num As Integer, ByVal min As Integer, ByVal max As Integer)
Dim result, tmp As String
Dim i, n, k As Integer
k = max - min
Randomize()' 初始化随机种子
For i = 1 To num '开始循环产生不重复数字
tmp = ""
While (True) '生成数字
n = CLng(Rnd() * k + min)
If n Mod 2 = 1 Then '判断是否为奇数
tmp = CLng(n)
If InStr(result, tmp) <= 0 Then Exit While '看有没有重,有就重新生成
End If
End While
result = result & "," & n
Next
getnum = Mid(result, 2)' 去了第一个逗号
End Function
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-27
Private Sub Command1_Click()
    Randomize
    Dim A(14) As Integer
    For i = 0 To 14
        A(i) = 2
    Next i
    Label1.Caption = ""
    
    For i = 0 To 14
        Do
            A(i) = Int(Rnd * 81 + 10)
        Loop Until A(i) Mod 2 = 1
        Label1.Caption = Label1.Caption & A(i) & " "
    Next i
End Sub

本回答被网友采纳
第2个回答  2011-04-22
Private Sub Command1_Click()
Dim i As Integer, a As Integer, n As Integer
Randomize '它让产生的随机数不相同
n = 0
Do While n < 15
a = Int(Rnd * 81 + 10)
If a Mod 2 <> 0 Then
Label1.Caption = Label1.Caption+"a"
n = n + 1
End If
Loop
End Sub
第3个回答  2017-08-29
sub AAA()

Dim i As Integer, A(14) As Integer
Dim intTmp As Integer
i = 0
Do While (i < 15)
intTmp = Int(10 + Rnd * 80)
If intTmp Mod 2 = 1 Then
A(i) = intTmp
label1(i).caption=intTmp
i = i + 1
End If
Loop
end sub
第4个回答  2011-04-15
Private Sub Command1_Click()

Do
a = Int(Rnd * 81 + 10)
If a Mod 2 <> 0 Then
Label1.Caption = Label1.Caption & a & ";"

n = n + 1
End If
If n = 15 Then Exit Do
Loop

End Sub本回答被提问者采纳