积分循环赛是棋类比赛中经常使用的赛制之一它能有效地避免种子选手一开始就交锋、拼掉。若有n(n一定为偶数)支队伍进行r轮比赛采用积分循环赛,则比赛规则如下:
①第一轮比赛前,先给各队伍随机排名,设定队伍编号:排名i的编号为i
②第一轮比赛:第1名和第2名、第3名和第4名、…、第n-1名和第n名,各进行一场比赛。每场比赛胜者得1分,负者得0分(已知所有队伍的实力值不同,且实力值高的队伍一定可以打败实力值低的队伍)
③根据比赛得到的分数,按照分数从高到低排名,若分数相同则编号小的队伍排在前面。
④接下去的r-1轮比赛均采用②的规则进行比赛,且每比完一场比赛都按照③的规则对队伍顺序排名,排名的结果是下一轮比赛队伍的顺序。
程序界面如下图。

(1)若有4支编号依次为“1,2,3,4”队伍进行2轮比赛,且各支队伍实力值依次为“12,9,16,15”,则2轮比赛后队伍“1,2,3,4”的分数依次是__________。(分数用逗号隔开)
(2)请在划线处完成代码填空。
Dim a(1 To 100) Integer, b(1 To 100) As Integer
Dim num(1 To 100) As Integer, win(1 To 100) As Integer, lose(1 To 100) As Integer
Dim win_num As Integer, lose_num As Integer
Dim As Integer, r As Integer, s1 As String, As String, 53 As String
Private Sub Command1_Click()
读取已打乱的队伍信息,编号、实力分别存在数组num和数组a中,且将数组b置0
代码略
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, t As Integer
ori=1 To Step2 先比第一轮
If a(i)> a(+1)Then b(i) =1 Else_______
Next i
For i=1Ton-1 将第一轮结果排序
For j=1 Ton-i
If cmp(_______) Then
t = num(j): num(j) = num(j + 1): num(j + 1) = t End If
Next j
Next i
For i = 1 To r - 1'比剩下的 r-1 轮比赛
win_num = 0: lose_num = 0
For j = 1 To n Step 2
win_num = win_num + 1: lose_num = lose_num + 1
If a(num(j)) > a(num(j + 1)) Then
b(num(j)) = b(num(j)) + 1
win(win_num) = num(j) : lose(lose_num) = num(j + 1)
Else
b(num(j + 1)) = b(num(j + 1)) + 1
win(win_num) = num(j + 1) : lose(lose_num) = num(j)
End If
Next j
Call merge '调用过程,合并胜利组和失败组Next i
s1 = "编号:": s2 = "分数:"
For i = 1 To n
s1 = s1 + format(num(i))
s2 = s2 + format(________)
Next i
List2.AddItem s1 List2.AddItem s2
End Sub
Sub merge() '合并过程
'将胜利组与失败组按照分数合并,生成下一轮比赛顺序并存回数组 num 中
'代码略End Sub
Function format(x As Integer) As String '格式化字符串函数 '将输入数字格式化为 3 个字符长度,代码略
End Function
Function cmp(i As Integer, j As Integer) As Boolean '比较函数cmp = False
If b(i) = b(j) Then
If i<j Then cmp=True
ElseIf b(i) > b(j) Then cmp = True
End If
End Function