回 帖 发 新 帖 刷新版面

主题:排序

Private Sub Command1_Click()
我是对十个数排序,并输出,大家帮帮忙,怎么这个就是不对呀?哪里错了,输出来 的不对
Dim a As Variant
a = Array(10, 20, 3, 4, 5, 6, 7, 8, 9, 10)
For i = 0 To 8
 k = i
 For j = i + 1 To 9
 If a(j) < a(i) Then
  k = j
 End If
 Next j
 If k <> i Then
  temp = a(k)
  a(k) = a(i)
  a(i) = a(k)
 End If
Next i
For i = 0 To 9
Print a(i)
Next i
End Sub

回复列表 (共1个回复)

沙发

朋友,你改成这样试下,冒泡排序
Private Sub Command1_Click()
    Dim a As Variant, i As Integer, k As Integer, j As Integer
    Dim temp As Integer
    a = Array(10, 20, 3, 4, 5, 6, 7, 8, 9, 10)
    temp = a(0)
    For i = 8 To 0 Step -1
        For j = 0 To i
            If a(j) < a(j + 1) Then
                temp = a(j)
                a(j) = a(j + 1)
                a(j + 1) = temp
            End If
        Next j
    Next i
    For i = 0 To 9
        Print a(i)
    Next i
End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册