题库 题目列表 有一组正整数,要求仅对其中的素数进行升序排序。排序...
填空题

有一组正整数,要求仅对其中的素数进行升序排序。排序后素数在前,非素数在后排序示例如下。

排序前

86

71

5

41

81

79

37

89

排序后

5

37

41

71

79

89

86

81

实现上述功能的VB程序如下,但加框处代码有错,请改正。

Const n = 8
Dim a(1 To n) As Integer
Private Sub Command1_Click()

Dim i As Integer, j As Integer, k As Integer, t As Integer

Dim flag As Boolean

'读取一组正整数,存储在数组 a 中,代码略

For i = 1 To n - 1

k = 1                                                    ‘①

If IsPrime(a(k)) Then flag = True 

Else flag = False

For j = i + 1 To n

If IsPrime(a(j)) Then

If a(j) < a(k) Then                         ‘②

k = j

flag = True

End If

End If

Next j

If k <> i Then

t = a(k): a(k) = a(i): a(i) = t

End If

If Not flag Then Exit For 'Exit For 表示退出循环


Next i

'依次输出排序后的数据。代码略


End Sub
Function IsPrime(m As Integer) As Boolean

'本函数判断 m 是否是素数:是素数返回值为 True,不是素数返回值为 False'代码略


End Function


划线处代码有误,请将正确的代码填到横线上。
_________________________
_________________________

题目信息
填空题 高考及会考
-
正确率
0
评论
217
点击