幻方阵
Dim a() As Integer
Private Sub Form_Activate()
Select Case True
Case Option1(0)
n = 3
Case Option2
n = 5
Case Option3
n = 7
End Select
Picture1.Height = 350 * n
Picture1.Width = 350 * n
Picture1.Top = (Me.ScaleHeight - Picture1.Height) / 2
Picture1.Left = (Frame1.Left - Picture1.Width) / 2
ReDim a(n, n)
i = 1
j = (n + 1) / 2
a(i, j) = 1
Picture1.Cls
For x = 2 To n * n
If (x - 1) Mod n = 0 Then
i = i + 1
Else
i = IIf(i = 1, n, i - 1)
j = IIf(j = n, 1, j + 1)
End If
a(i, j) = x
Next
For i = 1 To n
Picture1.CurrentY = (i - 1) * Picture1.Height / n + 60
Picture1.CurrentX = 15 * n
For j = 1 To n
Picture1.Print Format(a(i, j), "@@@");
Next
Picture1.Print
Next
End Sub
显示错误为“实时错误‘9’下标越界