题目

编号分别为1~n(n为偶数)的学生分成两组进行投篮比赛,奇数编号的为第一组,偶数编号的为第二组。对每个分组的成绩按从高到低排序,先比较处于分组第1位的两个队员成绩,成绩高的得1分,低的扣1分,相等均不得分,再依次比较处于分组相同位置的队员成绩,最后得到每组得分。     如10名运动员1号到10号的成绩分别是“13,6,9,8,10,11,10,14,16,13”,从高到低排序后,第一组的成绩依次是“16,13,10,10,9”,第二组的成绩依次是“14,13,11,8,6”。第1位的成绩分别是16和14,则第一组获胜得1分,第二组扣1分,再比较两个分组第2位的成绩13和13,则两组均不得分。依次处理,比较完剩余队员的成绩,可得第一组得分为2,第二组得分为-2。     编写一个VB程序,实现如下功能:在文本框Text1中依次输入成绩(偶数个整数,用逗号分隔并以逗号结尾),单击“确定”按钮Command1后,在列表框List1中显示对阵编号、对阵成绩及两个分组的最后得分。程序运行界面如图所示。 (1) 下列对象不具有Caption属性的是(单选,填字母:A .Command1/B .Form1/C .Text1/D .Label1) (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。 Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer Dim s As String, ch As String, sum1 As Integer, sum2 As Integer Dim bh (1 To 50) As Integer, cj(1 To 50) As Integer s= Text1.Text j= 1: k=0   For i= 1 To   ①       ch = Mid(s, i, 1)     If Not (ch>= "0" And ch <= "9") Then         k=k+1         bh(k)=k         cj(k) = Val(Mid(s, j, i-j))             ②        End If   Next i   For i= 1 To k-2 Step 2     For j= k To   ③   Step -1         If cj(j)> cj(j-2) Then             t= cj(j): cj(j)=cj(j-2): cj(j-2)=t             t= bh(j): bh(j)= bh(j-2): bh(j-2)=t         End If     Next j   Next i   sum1 = 0: sum2= 0   List1 .AddItem "对阵编号  对阵成绩"   For i=1 To k- 1 Step 2     If cj(i)> cj(i+1) Then         sum1 = sum1 + 1: sum2 = sum2- 1             sum1=sum1-1: sum2=sum2+1     End If     List1.AddItem adj(bh(i)) + "<-->" + adj(bh(i+1)) + adj(cj(i)) + "<-->" + adj(cj(i+1)   Next i   List1.AddItem"第一组得分: "+ adj(sum1)   List1.AddItem"第二组得分: " + adj(sum2) End Sub Function adj(x As Integer) As String ‘函数功能:将数值x转换成字符串,并在字符串的左侧添加若干空格。代码略 End Function ① ② ③  (3) 程序代码中的加框处代码有误,请改正。 答案: 【1】C 【1】Len(s)或Len(Text1.Text)【2】j=i+1【3】i+2 ElseIf cej(i)<cj(i + 1) Then
信息技术 试题推荐
最近更新