题目

【加试题】有一组正整数,要求对其中的数据进行排列, 排列后奇数在前, 偶数在后。其中最后一个数据排到奇数与偶数交接处;自前到后的第一个偶数排到最后一个位置,空出的位置排列自后向前的第一个奇数,依此类推。排序示例如下。 实现上述功能的 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 ⑴ ⑵ 答案:【1】i=i+1【2】a(i)=temp或a(j)=temp或a((i+j)\2)=temp或a((i+j)/2)=temp
信息技术 试题推荐