vb问题,求教
- 提问者网友:佞臣
- 2021-04-28 02:26
- 五星知识达人网友:举杯邀酒敬孤独
- 2021-04-28 03:44
代码:
'在窗体中放置两个命令按钮(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
- 1楼网友:長槍戰八方
- 2021-04-28 07:20
例如抽取(a,b)的数字
text1.text=int(rnd*(b-a+1))+a
- 2楼网友:从此江山别
- 2021-04-28 06:53
我说的程序我以前课堂上做过,这个是原码。如果要原程序留个邮件我发给你一看就知道了。
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
- 3楼网友:孤独入客枕
- 2021-04-28 05:50
print Int(Rnd*随机抽取数字的范围+1)
比如随机抽取数字1到35
print Int(Rnd*35+1)
- 4楼网友:北城痞子
- 2021-04-28 04:54