vb生成10个随机数,且在1~50之间

数值在Label生成,不重复,command引导


'作者:星空无月(xkwy)
Private Sub Command1_Click()
    Dim i As Integer, k As Integer
    Dim strText As String
    Dim a(9) As Integer
    For i = 0 To 9
        Do While Repeat(a(), k, i)      '如果重复的话继续获取
            k = Int(Rnd * 50 + 1) '获取1~50的整数
        Loop
        a(i) = k
        
    Next
    For i = 0 To 9
        strText = strText & " " & a(i)
    Next
    Label1.AutoSize = True
    Label1.Caption = strText
End Sub

Private Function Repeat(a() As Integer, Num As Integer, Index As Integer) As Boolean
       '参数:a()表示要判断的数组,Num表示被重复的数字,index表示判断到几号就不看了
    Dim j As Integer
    For j = LBound(a) To Index        '如果有重复则返回True
        If Num = a(j) Then Repeat = True: Exit Function
    Next
    Repeat = False
End Function

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-28
创建一个数组,A(50),把数字1~50,存在相应的数组中,让后根据随机数的值,交换对应下标的数组存放的值,最后把数组的前10个数保存,或是输出即可,这样就不会出现重复值,也可简化算法。

vb生成10个随机数,且在1~50之间
'作者:星空无月(xkwy)Private Sub Command1_Click() Dim i As Integer, k As Integer Dim strText As String Dim a(9) As Integer For i = 0 To 9 Do While Repeat(a(), k, i) '如果重复的话继续获取 k = Int(Rnd * 50 + 1) '获取1~50的整数 Loop...

VB中如何随机产生10个1-50的不重复数组,每个数之间隔开,并按小大排列...
Dim num() As Integer Dim muth As Integer Private Sub Form_Load()muth = 50 ReDim num(muth)End Sub Private Sub Command1_Click()Dim i As Integer rnds muth - 1 '随机数 short 9, 10 '排序 '输出,改你自己的出口样式 out 9 End Sub Sub rnds(length As Integer)Randomize Dim i...

vb编程题,用随机函数产生10个50以内包括50的随机整数存入一堆数组?
Private Sub Command1_Click()Dim a(10) As Integer Randomize Print "产生的随机数是:"For i = 1 To 10 a(i) = Int(Rnd * 51)Print a(i);Next i Print x = CInt(InputBox("请输入要查找的数:"))Print "要查找的数是:"; x n = 0 For i = 1 To 10 If x = a(i) T...

用VB语言 产生10个20-50之间的两位随机整数
Private Sub Form_Load()Dim A(10) As Long Dim i As Long Dim J As Long Dim tempA As Long '初始化环境 Picture1.AutoRedraw = True Randomize Timer '产生随机数 For i = 1 To 10 A(i) = Int(Rnd(1) * 31) + 20 Next i '排序 For i = 1 To 10 For J = i + 1 To...

如何在VB6.0中生成10个20到50的随机数(保留两位小数)
Private Sub Command1_Click()Dim a(10) As Single For i = 1 To 10 a(i) = Rnd * 31 + 10 Print Format(a(i), "0.00")Next End Sub

如何用VB设置1到50的随机数
没看到1 2.c=int(Rnd*50)+1 3.b(t)

vb语句 设计一个随机数程序,生成10个范围是1到100随机整数,并求出这...
dim Sum_num as int dim Arr_num(9) as int '赋予初始值 Min_num=101 Max_num=-1 Sum_num=0 '循环10次获得10个随机数 for i=1 to 10 randomize Arr_num(i-1)=int(rnd*100)+1 '判断后赋值最小值 if Arr_num(i-1)<Min_num then Min_num=Arr_num(i-1)'判断后赋值最大值 i...

VB编程:利用随机函数产生10个30到50范围内的随机数,显示他们的最大值...
Private Sub Command1_Click()Dim a(10) As Integer Dim i, j, t, max, min As Integer Label1.Caption = ""Label2.Caption = ""sum = 0 For i = 0 To 9 a(i) = 20 * Rnd() + 30 Label1.Caption = Label1.Caption + vbCrLf + CStr(a(i))Next max = a(0): min = a...

VB如何生成随机数
1、打开“Microsoft Visual Basic 6.0 中文版”软件,准备一个空白的工程文件:2、然后需要一个命令按钮,单击左侧工具箱中的“命令按钮”,在窗体中右侧拖动鼠标左键画出即可:3、双击该命令按钮,这里演示输入代码打印0~10之间的任意随即整数,生成其他范围的随机整数公式为“int((上限-下限+1)*...

vb编程 产生10个50-100(包括50和100)的随机整数,并用“冒泡排序”按从小...
Dim i As Integer, j As Integer Print "随机取到的10个50-100(包括50和100)的随机整数为"For i = 1 To 10 Randomize a(i) = Int(Rnd() * 51 + 50)Print a(i);Next i Print Print "用“冒泡排序”按从小到大的顺序排序后"For i = 1 To 10 For j = 1 To 10 - i If a(...

相似回答