在Text1中输入一个1-26之间的数字n,点击“产生”按钮,在Text2中产生n个不重复的大写字母,中间用逗号隔开(图a),点击一次“最小值”按钮,Text2中最小的字母会掉落到List1中,并将Text2中对应的字母和后面的逗号删除(图b),再点击一次“最小值”按钮,剩余字母中的最小值继续掉落(图c)。(ASC(“A”)=65,CHR(65)=“A”)
(1)
根据描述,如产生的字母为“H,K,C,B,N,”,第三次点击“最小值”按钮后Text2中显示内容为;
(2)
请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim
i As Integer, j As Integer, n As Integer
Dim
zm As Integer, flag As Boolean, zf As string
Randomize
‘重置rnd函数,确保每次产生的随机数不一致
zf =
""
n =
Val(Text1.Text)
For
i = 1 To n
zm
= Int(Rnd * 26 + 65)
For
j = 1 To Len(zf) Step 2
If Asc(Mid(zf, j, 1)) = zm Then
flag = True
Exit For
End If
Next
j
If
flag = False Then zf = zf + Chr(zm) + ","
Next
i
Text2.Text
= zf
End Sub
Private Sub Command2_Click()
Dim
i As Integer, zf As string
zf=Text2.Text
k =
1
For
i = 3 To Len(zf) - 1 Step 2
If
Mid(zf, k, 1) > Mid(zf, i, 1) Then k = i
Next
i
List1.AddItem
Mid(zf, k, 1)
Text2.Text
=
End Sub
答案: 【1】K,N,
【1】flag=False【2】i=i-1【3】mid(zf,1,k-1)+mid(zf,k+2)或 mid(zf,1,k-1)+mid(zf,k+2,len(zf)-k-1)