两个label数组(各15个label) 
Private Sub Form_Load() 
Dim i, j As Integer 
For i = 0 To 14 
  Randomize 
  j = Int(3 * Rnd) 
  If j = 0 Then 
    Label1(i).Caption = "A" 
    Label2(i).Caption = "1"
  ElseIf j = 1 Then 
    Label1(i).Caption  = "B"
    Label2(i).Caption = "2" 
  Else 
    Label1(i).Caption = "C" 
    Label2(i).Caption = "3"
  End If 
Next i 
End Sub 
 
要求出了A、B、C之后
例如label数组出ABC的情况 
A(0)  C(3)  B(6)  C(9)  A(12) B(1)  A(4)  C(7)  A(10)  C(13) B(2)  A(5)  C(8)  A(11)  A(14) 
括号中表示label1数组的索引 
对应的在label2的排列如下 
1 2 3 1 2 3 1 3 1  
  2   1   3 1
          3 1 

解决方案 »

  1.   

    猜你的意图好辛苦
    说明自己的意图要让别人能理解,今后多注意
    这个测试了Private Sub Command1_Click()
        Dim Label1(0 To 14) As Object
        Dim Label2(0 To 14) As Object
        Dim i As Integer
        Dim intLeft As Integer
        Dim intTop As Integer
        Dim intFirstTop As Integer
        Dim strValue As String
        
        '动态创建控件数组,如果你已经有可以去掉
        For i = 0 To 14
            Set Label1(i) = Me.Controls.Add("VB.Label", "Label1" & i)
            Set Label2(i) = Me.Controls.Add("VB.Label", "Label2" & i)
        Next i
        
        '随机获取Caption
        For i = 0 To 14
            Randomize
            j = Int(3 * Rnd)
            
            If j = 0 Then
                Label1(i).Caption = "A"
                Label2(i).Caption = "1"
            ElseIf j = 1 Then
                Label1(i).Caption = "B"
                Label2(i).Caption = "2"
            Else
                Label1(i).Caption = "C"
                Label2(i).Caption = "3"
            End If
        Next i
        
        intFirstTop = 1000
        intTop = intFirstTop
        intLeft = 1000
        strValue = "0"
        
        For i = 0 To 14
            If strValue <> "0" Then
                If Label2(i).Caption = strValue Then
                    intTop = intTop + 200
                    intLeft = intLeft
                Else
                    intTop = intFirstTop
                    intLeft = intLeft + 200
                End If
            End If
            
            Label2(i).Move intLeft, intTop
            Label2(i).AutoSize = True
            Label2(i).Visible = True
            strValue = Label2(i).Caption
        Next i
        End Sub2 1 3 2 1 2 3 1
    2   3     2 3
        3     2
      

  2.   

    csdn这个不好,编辑和提交后不一样,串位了