题库 高中信息

题干

(加试题)某同学编写一个VB程序模拟音乐播放器的“随机排序”功能。单击“随机排序”按钮Command1,随机生成15个“歌曲名”(歌曲名由3-6个大写英文字母组成),在列表框list1输出原播放顺序,在列表框list2输出随机排序后的顺序。运行界面如下:

实现上述功能的VB代码如下,其中加框处代码有错,请改正。
(1)________________________;
(2)________________________;
Private Sub Command1_Click()
Dim a(1 To 15) As String, b(1 To 15) As Boolean, c(1 To 15) As String
'数组a和数组c分别代表排序前后的文件名
Dim i As Integer, j As Integer, k As Integer
For i = 1 To 15    ‘生成各文件名,存放在数组a
k =Int(Rnd*5)+2 (1)
a(i) = ""
For j = 1 To k
a(i) = a(i) + Chr(65 + Int(Rnd() * 26))
Next j
List1.AddItem Str(i) + " " + a(i)
Next i
For i = 1 To 15
b(i) = False
Next i
For i = 1 To 15
k = Int(Rnd() * 15) + 1
Do While b(k) = True
k = Int(Rnd() * 15) + 1
Loop
b(k) = True
c(i) = a(k) + " " + "原位置" + Str(k)
Next i
For i = 1 To 15
List2.AddItem Str(i) + "  " +str(a(i)) (2)
Next i
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-05-06 06:17:18

答案(点此获取答案解析)

同类题1

在一个文档中,每行包含一个字符串。现使用如下规则对其压缩:压缩时,对于每个字符串求其与前一字符串的公共前缀,然后使用公共前缀的长度和字符串的剩余部分(以空格隔开)表示该字符串,每个空格和字符都会占用一个字节空间。图a所示为该压缩规则示意图。小明为此编写了VB程序,功能如下:运行程序时,在列表框List1中显示原字符串内容,单击“压缩”按钮Command1,在列表框List2中显示压缩后字符串,并在标签Label2中显示压缩后容量。程序运行界面如图b所示。

实现上述功能的 VB 代码如下,但划线处代码有错,请改正。
Dim word(3000) As String, pre(3000) As String
Const n = 2000
Private Sub Form_Load()
'该过程的作用是从数据库读取 n 个单词,按字典顺序存储在数组 word 中,并在 Label1输出单词数量和容量
'代码略
End Sub
Private Sub Command1_Click()
Dim conp As Integer '存储压缩后的容量
Dim f As Boolean,m As Integer,k As Integer   'k 存储公共前缀的长度
conp=0
For i=1 To n
k=0
If i=1 Then f=False Else f=True
k=Len(word(i)) '(1)______________
Do While k<m And f=True
If Mid(word(i),1,k+1)=Mid(word(i-1),1,k+1) Then    
k=k-1 '(2)____________
Else
f=False
End If
Loop
pre(i)=CStr(k)+" "+Mid(word(i),k+1,Len(word(i)))
'Cstr()函数能够将数字类型的值转换为字符类型的值,并却掉前导空格。
List2.AddItem pre(i)
conp=conp+Len(word(i))   '(3)______________
Next i
Label2.Caption="压缩后容量为"+Str(conp)+"字节"
End Sub