VB编写杨辉三角?

来源:百度知道 编辑:UC知道 时间:2024/05/16 10:41:29
Option Explicit
Private Sub Form_Click()
Dim i As Integer, j As Integer, n As Integer, b As Integer, c As Integer
ReDim a(b, c) As Integer
n = InputBox("请输入n:")
If i + j = n + 1 Or j = n + 1 + i Then
a(i, j) = 1
a(0, n + 1) = 1
Else
For i = 2 To n Step 1
For j = n + 3 - i To n - 1 + i Step 2
a(i, j) = a(i - 1, j - 1) + a(i - 1, j + 1)
Next j
Print
Next i
End If
End Sub

这么编写为什么出错?
为什么a(i, j) = a(i - 1, j - 1) + a(i - 1, j + 1)总说下表越界?
那该怎么写呢

这代码好乱啊,很难看清,只不过你前面用redim定义数组时变量b和变量c都是0.也就是这个数组只有一个元素,就是a(0,0)。你后面要是对其他不存在的元素赋值当然会下标越界了。