有一组正整数,要求仅对其中的偶数进行降序排序。排序后偶数在前,奇数在后。排序示例如下。
排序前
| 75
| 78
| 60
| 86
| 61
| 75
| 36
| 88
|
排序后
| 88
| 86
| 78
| 60
| 36
| 75
| 61
| 75
|
程序运行界面如下图所示。
实现上述功能的 VB 程序如下,但加框处代码有错,请改正。
Const n = 8
Dim a(1 To n) As Integer Private Sub Form_Load()
'排序前数据存储在数组 a 中,并在文本框 Text1 中显示代码略 End Sub
Private Sub Command1_Click()
Dim k As Integer, i As Integer, j As Integer, t As Integer
i = 1
Do While i <= n - 1
k = i
For j = i + 1 To n

'①
k = j
ElseIf a(k) Mod 2 = 0 And a(j) Mod 2 = 0 And a(j) > a(k) Then
k = j
End If
Next j
If k <> i Then
t = a(k): a(k) = a(i): a(i) = t
End If

'②
Loop
'依次输出排序后的数据。代码略 End Sub