题目

小明设计了某社团积分系统,当输入用户ID和积分增值后可以更新积分和排名。具体功能如下:单击“读取"按钮Command1后,将n个用户的ID (依次为1到n)、积分和积分排名显示在列表框List1中。在Text1中输入ID和积分增值,用逗号作为分隔符和结束符,奇数位置整数表示ID,偶数位置整数表示积分增值。如输入“2,1,3,5,”表示ID为2的用户增加1积分,ID为3的用户增加5积分。单击“更新"按钮Command2,在列表框List2中显示更新后的积分和排名。程序运行界面如图所示。 请回答下列问题: (1) 若要清空列表框List1,下列代码正确的是(单选,填字母:A .List1.Clear /B .List1.Caption / C .List1.Text")。 (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。 Const n= 12 Dim a(1 To n) As Integer, mc(1 To n) As Integer Private Sub Command1_Click() 'n个用户的ID依次为1到n,读取n个用户的积分和排名数据分别存储到数组a和数组mc中,并在列表框Listl中显示ID、积分、积分排名,代码略 End Sub Private Sub Command2_Click()     Dim i As Integer, j As Integer, k As Integer, d As Integer     Dim s As String, flag As Boolean, x As Integer, y As Integer     Dim p(1To20) As Integer    '存储输入的ID和积分增值,每次输入不超过10组     For i=1 To 20         p(i)=0     Next i     s= Text1.Text          d=0:k=0     For i= 1 To Len(s)         If Mid(s, i, 1)= "," Then             If flag Then                 x = Val(Mid(s, i-d, d))                 For j= 1 To k Step 2                     If p(j) =x Then Exit For                 Next j                 If j> k Then                     p(j)=x:k=k+2                 End If             Else                 y = Val(Mid(s, i-d, d))                 p(i+1)=p(j+ 1)+y             End If             flag= Not flag: d= 0         Else                      End If     Next i     For i=1 To k\2         x=p(2*i-1):y=p(2*i)         me(x)= 1         For j= 1 Ton             If j<> x Then                 If a(j)<a(x)+y And a(j)>=a(x) Then             End If             If a(j)> a(x) +y Then mc(x)= m(x)+ 1         Next j             Next i     '在列表框List2中显示ID,积分、排名,代码略 End Sub (3) 程序中加框处代码有错,请改正 答案: 【1】A 【1】flag = True【2】d=d+ 1【3】a(x) = a(x) + y me(j) = mc(j) + 1
信息技术 试题推荐