小王利用循环排序思想编写了一个VB程序,用于计算下一轮比赛的出场顺序。从数据库中读取本轮比赛的人员姓名存在数组xm中,成绩存在数组cj中(成绩均不重复)。编程实现将这些成绩进行循环升序排列。要求最低成绩的位置不变,然后依次进行升序排序,即从最小值开始向下尾首相连形成升序数列。程序运行界面如图所示。点击“排序”按钮,完成循环升序排序。
(1)
“排序”按钮的对象名为
(2)
请在划线处填入合适代码。
Dim xm(1 to 100)As String ,cj(1 to 100)As Integer
Dim flag(1 to 100)As Boolean
Private Sub Form_ Load()
‘从数据库中读取数据,存储到相应数组中,并输出在列表框List1。第i个人,姓名为xm(i),成绩为cj(i)。人员数量存储到变量n中(1≤n≤100)。代码略
End Sub
Private Sub Cmd__Click()
Dim min As Integer, pmin As Integer
min = cj(1): pmin = 1
For i=2 To n
If cj(i) < min Then min = cj(i):
Next i
flag(pmin) = True
pmin= pmin + 1
If pmin=n+1 Then pmin=1
For i=1 To n-2
k = pmin
For j=1 To n
If Then k= j
Next j
If k <> pmin Then
t = cj(k): cj(k) = cj(pmin): cj(pmin) = t
C = xm(k): xm(k) = xm(pmin): xm(pmin) = c
End If
flag(pmin) = True
pmin=pmin+1
Next i
’将排序后的人员姓名和成绩输出到列表框List2中,代码略。
End Sub
(3)
加框处代码出错,请改正。
答案: 【1】Cmd
【1】pmin=i【2】cj(j) < cj(k) And flag(j) = False
pmin = pmin Mod n+ 1