Private Sub Command2_Click() 
    Cls 
    Dim sj() 
    sj() = Array(43, 25, 49, 13, 28, 26, 43, 1, 544, 51, 79, 21) 
    n = UBound(sj) 
    Print "排序前" 
    For o = 0 To n 
    Print sj(o); 
    Next 
    Print 
    For i = 0 To n - 1 
        t = i 
        For j = i To n 
            If sj(j) < sj(t) Then 
                t = j 
            End If 
            p = sj(t) 
            sj(t) = sj(i) 
            sj(i) = p 
        Next 
    Next 
  Print "排序后" 
    For j = 0 To n 
        Print sj(j); 
    Next 
            
End Sub 

解决方案 »

  1.   

    Private Sub Command1_Click()
    Dim i, j As Long
        Cls
        Dim sj()
        sj() = Array(43, 25, 49, 13, 28, 26, 43, 1, 544, 51, 79, 21)
        n = UBound(sj)
        Print "排序前"
        For o = 0 To n
        Print sj(o);
        Next
        Print
        For i = 0 To UBound(sj)
    For j = i + 1 To UBound(sj)
    A = sj(i)
    B = sj(j)
    If sj(i) > sj(j) Then
     sj(i) = B
     sj(j) = A
    End If
    Next j
    Next i
     Print "排序后"
        For j = 0 To n
            Print sj(j);
        Next
                
    End Sub
      

  2.   

        For i = 0 To n - 1 
            t = i 
            For j = i To n 
                If sj(j) < sj(t) Then 
                    t = j 
                End If 
                '''p = sj(t) 
                '''sj(t) = sj(i) 
                '''sj(i) = p 
            Next 
               p = sj(t) 
                sj(t) = sj(i) 
                sj(i) = p 
        Next