永发信息网

vb问题,求教

答案:5  悬赏:0  手机版
解决时间 2021-04-28 19:50
我想用vb做一个随机抽取数字的小程序,代码怎么写?举个例子,谢谢~!
最佳答案

代码:


'在窗体中放置两个命令按钮(Command1,Command2);包含5个元素 de 控件数(text1(0)'text1(4));─个组合框控件List1,将其Visible属性设置为False。
蓝号 用了Command3  和5个文本  
Private Const AllData = 33 '总数为36
Private Const Choose = 6 '要选出 de 数为7个
Dim Num(Choose - 1) As Byte '数组用来存放选出 de 数
Private Sub Command1_Click() '产生随机数
Dim i, j, RndData
For j = 0 To 4 '产生5组数据
For i = 1 To AllData
List1.AddItem i
Next i
For i = 0 To Choose - 1
Randomize '初始化随机数 de 种子数
RndData = Int(((AllData - i) * Rnd) + 1)
Num(i) = List1.List(RndData - 1)
List1.RemoveItem (RndData - 1)
Next i
PopSort '调用冒泡排序
Text1(j) = " "
For i = 0 To Choose - 1
If Num(i) < 10 Then


    Text1(j) = Text1(j) & "0" & Num(i) & " " '小于10 de 数在前面补“0”


    Else


    Text1(j) = Text1(j) & Num(i) & " "


    End If


    Next i


    List1.Clear '清除总数容器


    Next j


    End Sub


    Sub PopSort() '冒泡排序


    Dim i, j, Temp As Byte


    For i = Choose - 1 To 1 Step -1


    For j = Choose - 1 To 1 Step -1


    If i >= Choose - 1 - j Then


    If Num(j) < Num(j - 1) Then


    Temp = Num(j - 1)


    Num(j - 1) = Num(j)


    Num(j) = Temp


    End If


    End If


    Next j


    Next i


    End Sub


Private Sub Command3_Click()
Dim a(1 To 16) As Integer, b(1 To 16) As Integer, c(1 To 16) As Integer, d(1 To 16) As Integer, e(1 To 16) As Integer
    Static n As Integer
    n = n + 1
    If n > 10 Then Exit Sub
    Do
    x = Int((16 - 1 + 1) * Rnd + 1)
    j = True
    For i = 1 To n - 1
    If x = a(i) Then j = False: Exit For
    Next i
    Loop Until j
    a(n) = x
    Text2(0) = a(n)
   
    Static h As Integer
    h = h + 1
    If h > 10 Then Exit Sub
    Do
    x = Int((16 - 1 + 1) * Rnd + 1)
    j = True
    For i = 1 To h - 1
    If x = b(i) Then j = False: Exit For
    Next i
    Loop Until j
    b(h) = x
    Text3 = b(h)
   
    Static m As Integer
    m = m + 1
    If m > 10 Then Exit Sub
    Do
    x = Int((16 - 1 + 1) * Rnd + 1)
    j = True
    For i = 1 To m - 1
    If x = c(i) Then j = False: Exit For
    Next i
    Loop Until j
    c(m) = x
    Text4 = c(m)
 
    Static q As Integer
    q = q + 1
    If q > 10 Then Exit Sub
    Do
    x = Int((16 - 1 + 1) * Rnd + 1)
    j = True
    For i = 1 To q - 1
    If x = d(i) Then j = False: Exit For
    Next i
    Loop Until j
    d(q) = x
    Text5 = d(q)
   
   
    Static w As Integer
    w = w + 1
    If w > 10 Then Exit Sub
    Do
    x = Int((16 - 1 + 1) * Rnd + 1)
    j = True
    For i = 1 To w - 1
    If x = e(i) Then j = False: Exit For
    Next i
    Loop Until j
    e(w) = x
    Text6 = e(w)
End Sub


Private Sub Form_Load()
Randomize


End Sub

全部回答

例如抽取(a,b)的数字

text1.text=int(rnd*(b-a+1))+a

我说的程序我以前课堂上做过,这个是原码。如果要原程序留个邮件我发给你一看就知道了。

Dim x%, y%

Private Sub Command1_Click() Randomize x = Int(Rnd * 100 + 1) End Sub

Private Sub Command2_Click()

y = Val(Text1.Text) If x < y Then Text2.Text = "太大了" ElseIf x > y Then Text2.Text = "太小了" Else Text2.Text = "对了" End If

END SUB

print Int(Rnd*随机抽取数字的范围+1)

比如随机抽取数字1到35

print Int(Rnd*35+1)

label1=int(rnd*(10+1-1)+1)采纳OK?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人为什么要有情呢?
请问当别人说爱迪生是天才时他是怎么回答的?
飞轮海PK至上励合谁更厉害,说明详细原应。
天津的地区是怎样分配的、有哪些地名?
FX5000开四核后这个温度正常吗? 速度求解
安东尼降临休斯顿的可能性有多大?
+11一套配套装几钱
招警有挂科能通过政审吗
丝路英雄怎样可以快速拿荣誉?
宋茜是什么星座,宋茜组合唱过什么歌
我想找个懂驱动的?
为什么输入的汉字是繁体?怎么改简体?
网球的六种以上裁判规则
个股投资咨询
爱情和酒有关的句子,则去偷香窃玉上用心,又
推荐资讯
谁看过,日本动漫“百变小樱魔术卡”的剧场版
现在每天上班对着电脑,黑眼圈越来越明显了,
要是炫舞紫钻掉了,紫钻YY还能穿么?
我该选择等待还是忘记过去
最近一直睡不着,要怎样才不去乱想,好好睡觉
我的黄砖什么时候过期
为什么长大了就烦恼多???
江岭怎么去啊,有知道地址的么
[求助]关于格兰蒂亚2(PC版)
镇江高一暑假乐园答案
那位朋友可以给我介绍几款女生玩的单机游戏?
可以帮我起几个好听的网名吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?