33,22,55,66
4个数排序。
求解。谢了。

解决方案 »

  1.   

    把要排序的数放到数组里:
    Private Sub Sort(ByRef arrSort() As Integer)
        Dim arrTemp As Integer, i%, j%
        For i = 0 To UBound(arrSort)
            For j = i + 1 To UBound(arrSort)
                If arrSort(i) > arrSort(j) Then
                    arrTemp = arrSort(i)
                    arrSort(i) = arrSort(j)
                    arrSort(j) = arrTemp
                End If
            Next
        Next
    End Sub
    Private Sub Command1_Click()
        Dim arr(3) As Integer
        Dim i% '33,22,55,66
        arr(0) = "33"
        arr(1) = "22"
        arr(2) = "55"
        arr(3) = "66"
        Sort arr '调用排序函数
        Debug.Print arr(0) & "," & arr(1) & "," & arr(2) & "," & arr(3) & ","
    End Sub
      

  2.   

    '比较小数也是一样的,只不过把数据类型由Integer改为Single类型就好了,代码如下:
    Private Sub Sort(ByRef arrSort() As Single)
        Dim arrTemp As Single, i%, j%
        For i = 0 To UBound(arrSort)
            For j = i + 1 To UBound(arrSort)
                If arrSort(i) > arrSort(j) Then
                    arrTemp = arrSort(i)
                    arrSort(i) = arrSort(j)
                    arrSort(j) = arrTemp
                End If
            Next
        Next
    End SubPrivate Sub Command1_Click()
        Dim arr(3) As Single
        Dim i%
        arr(0) = "33.1"
        arr(1) = "44.2"
        arr(2) = "55.1"
        arr(3) = "11.9"
        Sort arr
        Debug.Print arr(0) & "," & arr(1) & "," & arr(2) & "," & arr(3) & ","
    End Sub