当前位置:问百问>生活百科>vb产生随机数

vb产生随机数

2025-03-21 11:01:19 编辑:zane 浏览量:512

vb产生随机数

的有关信息介绍如下:

我理解为1-50的数字中,随机取8个

需要两个控件text1和command1

代码如下:

Option Explicit

Dim i, j, k

Dim s(8)

Dim cf As Boolean

Private Sub Command1_Click()

Text1.Text = ""

i = 1

Do While i <= 8 '第一层循环,用于取8个数

    cf = False '是否取到了重复的数

    Randomize

    k = Int(Rnd() * 50) + 1 '获取随机数

    For j = 1 To i '第二层循环,判断是否取到的数字发生了重复

        If k = s(j) Then '当发生重复的时候标记cf变量

            cf = True

            Exit For

        End If

    Next

    If cf = False Then '如果取得数字没有重复,进行赋值,并显示在text1文本框

        Text1.Text = Text1.Text & k & Chr(13) & Chr(10)

        s(i) = k

        i = i + 1 '继续取下一个数字,直到i=8

    End If

Loop

Printer.FontSize = 30 '打印字体大小

Printer.Print Text1.Text '打印文本框

Printer.EndDoc '输出打印

End Sub

数字8代表要取多少个,数字50代表总共有多少数字,自己修改就行了

当随机数恰好等于50.00000的时候会出错,这个情况大约有10万分之一的可能性

可以将If k = s(j) Then改成If k = s(j) or k=51 Then来排除

要把50个数字改成50个名字

只要在form_load的时候做一个数组

dim name(50)

name(1)="张三"

name(2)="李四"

…………

然后将代码部分的k改成name(k) ,数组s(j) s(i)也要改成name(j) name(i)

for i=1 to 8

  Printer.Print name(i)

next

这样打出来的是姓名

打印格式自己设定

vb产生随机数

版权声明:文章由 问百问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbwen.com/life/272799.html
热门文章