图a
小明同学使用VB编写了一个最终得分处理程序,对上述n个成员按最终得分进行降序排序,并计算出最终得分的中位数(中位数:把所有观察值排序后,正中间的一个即为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数)。程序运行界面如图b所示:
图b
Const n = 11
Dim a(1 To 2 * n) As Single
Private Sub Form_Load()
'读取初始数据,存储在数组a,并显示在列表框 List1 中。代码略
End Sub
Private Sub Cmd_sort_Click()
Dim i As Integer, j As Integer, shift As Integer Dim t As Single, zws As Single
i = 2
Do While
shift = n
For j =
If a(2 * j) * a(2 * j - 1) > a(2 * j - 2) * a(2 * j - 3) Then
t = a(2 * j): a(2 * j) = a(2 * j - 2): a(2 * j - 2) = t
t = a(2 * j - 1): a(2 * j -1) = a(2 * j - 3): a(2 * j - 3) = t
End If
Next j
i = shift
Loop
If n Mod 2 = 1 Then zws = a(n) * a(n + 1)
Else
zws = () / 2
End If
'在列表框 List1 中输出处理后数据的排序结果,代码略Label1.Caption = "最终得分的中位数是:" + Str(zws)
End Sub