有如下程序: Option Base 1 Private Sub Command1_Click() Dim x,y(3,3)

2025-04-24 05:28:41
推荐回答(1个)
回答1:

Option Base 1    '限定数组起始下标为1

Private Sub Command1_Click()
    Dim x, y(3, 3)   
    '因为数组下标已经被限定为1,所以y(3,3)就相当于y(1 to 3,1 to 3)
    
    x = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)   
    '将变量x赋值为一维数组
    '即从上面这个赋值语句得到:x(1) = 1,x(2)=2 ,x(3)=3 , ... x(9) = 9
    
    For i = 1 To 3
        For j = 1 To 3
            y(i, j) = x(i * j)
            '这里很好理解y(i,j)的值等于x(i*j),
            '比如i = 2,j =2,那么i*j=4,那么y(i,j) = y(2,2) = x(2*2) = x(4) = 4
            
            If (j >= i) Then Print y(i, j);
            '(j>=i)表示当j大于等于i
            '当i = 1,j = 1,2,3均满足这个条件,
                     '所以分别打印 x(1*1)=1 , x(1*2)=2 , x(1*3)=3
            '当i = 2,j = 2,3满足"j大于等于i"这个条件,
                     '所以分别打印 x(2*2)=4 , x(2*3)=6
            '当i = 3,j = 3满足"j大于等于i"这个条件,
                     '所以分别打印 x(3*3)=9
        Next j
        Print   '每打印一组,回车
    Next i
    '所以最终显示结果为:
    '         1 2 3
    '         4 6
    '         9
    
End Sub