+ -
当前位置:首页 → 问答吧 → 嵌套循环的另一种写法

嵌套循环的另一种写法

时间:2011-11-23

来源:互联网

VB code
        Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim z As Integer
    Dim value As Integer
    Dim Numarr(3) As Integer
    Numarr(0) = 0: Numarr(1) = 30: Numarr(2) = 50: Numarr(3) = 100
    value = 310
    For i = 0 To 3
        For j = 0 To 3
            For k = 0 To 3
                For z = 0 To 3
                    If value = Numarr(i) + Numarr(j) + Numarr(k) Then
                        Debug.Print Numarr(i); Numarr(j); Numarr(k)
                    Else
                        Debug.Print Numarr(i); Numarr(j); Numarr(k)
                    End If
                Next
            Next
        Next
    Next


这是利用枚举所有组合来匹配特定的数,但是现在有一个问题,我的数组换成动态的,也就没有办法知道要嵌套几层循环,所以上方法行不通了。问:怎么在动态数组的情况下枚举所有组合呢?

作者: buxchang   发布时间: 2011-11-23

ubound(数组,维度)

作者: alifriend   发布时间: 2011-11-23

不定的用递归来做吧

作者: jhone99   发布时间: 2011-11-23

用递归可以使程序变得简单易读。在不追求效率的情况下是不错的选择。

作者: Veron_04   发布时间: 2011-11-23

仔细看来看
If value = Numarr(i) + Numarr(j) + Numarr(k) Then
  Debug.Print Numarr(i); Numarr(j); Numarr(k)
  Else
  Debug.Print Numarr(i); Numarr(j); Numarr(k)
  End If

什么意思?两种情况有区别吗?

作者: Veron_04   发布时间: 2011-11-23

热门下载

更多