+ -
当前位置:首页 → 问答吧 → 请教各位,数组中如何找第一个最大值,第二个最大值,第三个最大值?

请教各位,数组中如何找第一个最大值,第二个最大值,第三个最大值?

时间:2011-11-29

来源:互联网

请教各位,数组中如何找第一个最大值,第二个最大值,第三个最大值?并且返回对应的第几个元素?

作者: dwj4691004   发布时间: 2011-11-29

并且返回对应的第几个元素?

作者: patrickkong   发布时间: 2011-11-29

第一个最大值对应的是数组的第几个元素
二个、三个对应的都是数组的第几个元素

作者: dwj4691004   发布时间: 2011-11-29

VB code
Private Sub Form_Load()
    Dim a, b(2), i%, intMin%, s$
    a = Split("5,4,33,444,34,6,2,77,2,9,4,22", ",")
    For i = 3 To UBound(a)
        intMin = 0
        If b(1) < b(intMin) Then intMin = 1
        If b(2) < b(intMin) Then intMin = 2
    
        If a(i) > Val(b(intMin)) Then
            b(intMin) = a(i) & "-" & i
        End If
    Next
    MsgBox "原始数据:" & Join(a, ",") & vbCrLf & "三个最大的:" & Join(b, ",")
End Sub

最后的数组b需要拍下序,你肯定懂的。。

作者: sysdzw   发布时间: 2011-11-29

不好意思,少加了个val,修改后:
VB code
Private Sub Form_Load()
    Dim a, b(2), i%, intMin%, s$
    a = Split("5,4,33,444,34,6,2,77,2,9,4,22", ",")
    For i = 3 To UBound(a)
        intMin = 0
        If Val(b(1)) < Val(b(intMin)) Then intMin = 1
        If Val(b(2)) < Val(b(intMin)) Then intMin = 2
    
        If Val(a(i)) > Val(b(intMin)) Then
            b(intMin) = a(i) & "-" & i
        End If
    Next
    MsgBox "原始数据:" & Join(a, ",") & vbCrLf & "三个最大的:" & Join(b, ",")
End Sub
速度结贴

作者: sysdzw   发布时间: 2011-11-29

遍历~

作者: xiaozhe_song   发布时间: 2011-11-29

我试试

作者: dwj4691004   发布时间: 2011-11-29

热门下载

更多