试题

试题 试卷

logo

题型:填空题 题类:常考题 难易度:普通

高中信息技术——排序算法及程序实现(浙江专用)

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

排序前

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 Commandl_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

        '(1)

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

    For j = i + 1 To n

      If IsPrime(a(j)) Then

        If  Then    '(2)

          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

 ⑵ 

举一反三
返回首页

试题篮