编写VB程序,实现如下功能:程序运行时,单击命令按钮 Command1产生100个随机字符串(每个字符串的长度不超过10),并显示在列表框List1中单击命令按钮Command2对产生的100个随机字符串按权值进行降序排序,将排序结果显示在列表框List2中。每个字符串的权值定义为该字符串中ASCⅡ码值最大的学母的ASCⅡ码值,例如字符串“Hello”中ASC码值最大的字母是“o”(ASCⅡ码值为111),则字符串“Hello”的权值为111。程序运行效果如图所示。
实现上述功能的VB代码如下,在划线处填入合适的代码。 Dim a (1 To 100) As String ‘ 依次存放100个随机字符串 Dim b (1 To 100) As Integer ‘ 依次存放每个字符串的权值 Private sub command1_Click( ) ‘ 产生100个随机字符串 Dim i As Integer, k As Integer, j As Integer,x As Integer For i=1 To 100 k=Int (Rnd*7+3) ‘k表示第i个字符串的长度 For j = 1 To k ‘通过循环产生第i个字符串并存储在a(i)中 If Int(Rnd*2+1) = 1 Then ‘ 产生一个小写字母的 ASCⅡ码值 x = Asc("a")+ Int (Rnd*26) Else x = Asc("A") + Int(Rnd*26) ‘ 产生一个大写字母的ASCⅡ码值 ① a(i) = a(i)+Chr (x) Next j List1 AddItem a(i) Next i End Sub Private sub command2_Click( )’ 对100个字符串按字符串权值降序排序 Dim i As Integer, j As Integer, y As Integer, s As string For i =1 To 99 k =1 For = i + 1 To 100 ③ Next j If k <> Then s = a(k) : a(k) = a(1) : a(1) = s y = b(k) : b(k) = b(1):b(i) = y End If Next i For i=1 To 100 List2 AddItem a(i) Next i End sub ① ② ③
答案:【1】End If【2】If b(i) < x Then b(i)=x【3】If b(j)>b(k) Then k = j