生成k个不同的随机数,从m到n,并输出最大值的程序代码

前端之家收集整理的这篇文章主要介绍了生成k个不同的随机数,从m到n,并输出最大值的程序代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Option Explicit

Dim i As Integer,j As Integer'用于数组的变量
Dim Temp As Integer '保存随机数的容器
Dim Flag As Boolean '判断生成的数是废掉还是保存
Dim k As Integer '生成的数的个数K
Dim m As Integer '生成数的范围的下界M
Dim n As Integer '生成数的范围的上界N
Dim max As Integer '进行最大值判断的变量
Dim p As String
Private Sub Command1_Click()
'取值 生成的数的个数K、生成数的范围的下界M、生成数的范围的上界N
k = Val(Text1.Text)
n = Val(Text2.Text)
m = Val(Text3.Text)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'生成k个从m-n范围的不重复的随机

ReDim a(0 To k) '定义一个数组范围从0到k
Randomize
For i = 0 To k
Temp = Int(Rnd * (n - m + 1) + m) '生成一个随机
Flag = False 'flag的默认初值是false
For j = 0 To i - 1 '生成的新的数与前面生成的数比较,如果相等就废掉这个数,如果不等就保存 到a(i)
If Temp = a(j) Then
i = i - 1
Flag = True
Exit For
End If
Next j
If Flag = False Then
a(i) = Temp
If i = k Then
Print a(i) & Chr(13) & Chr(10)
Else
Print a(i);
End If
End If
Next i
'‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’
'大小的比较
max = a(0) '把产生的第一个数a(0)视为最大的数
For i = 1 To k '如果后面的数大于max则把这个数付给max
If max < a(i) Then
max = a(i)
End If
Label1.Caption = Str(max)
End Sub

猜你在找的VB相关文章