题库 高中信息

题干

(加试题) 有一组正整数,要求对其中的数据进行排列, 排列后奇数在前, 偶数在后。 其中最后一个数据排到奇数与偶数交接处;自前到后的第一个偶数排到最后一个位置,空出的位置排列自后向前的第一个奇数,依此类推。 排序示例如下。

实现上述功能的 VB 程序如下,但加框处代码有错,请改正。
Const n = 10
Dim a(1 To n) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim temp As Integer, flag As Boolean
'读取一组正整数,存储在数组 a 中,代码略
i = 1: j = n
temp = a(j): flag = True
Do While i < j
If flag Then
If a(i) Mod 2 = 0 Then
a(j) = a(i)
j = j - 1
flag = Not flag
Else
'⑴__________________
End If
Else
If a(j) Mod 2 = 1 Then
a(i) = a(j)
flag = Not flag
Else
j = j - 1
End If
End If
Loop
   '⑵____________________
'依次输出排序后的数据,代码略。
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-05-07 06:15:53

答案(点此获取答案解析)