VB中杨辉三角的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 07:36:26
在窗体上有一个图片框P1,一个文本框T1,一个标签L1,一个命令C1,根据在T1中行数N,单击C1将杨辉三角的前N 行输出到图片框P1上,
说明:杨辉三角形的每一行是(X+Y)的N次方的展开式的个项系数,有如下关系,对角线和每行的第一列均为1其余各项是它的上一行中间一列和其前面一个元素之和

Private Sub C1_Click()
Dim A() As Long
Dim N As Integer
N = CInt(Val(T1.Text))
If N > 0 Then
ReDim A(1 To N, 1 To N) As Long
P1.Cls
For i = 1 To N
For j = 1 To i
If j = 1 Or j = i Then
A(i, j) = 1
Else
A(i, j) = A(i - 1, j) + A(i - 1, j - 1)
End If
P1.Print Tab(j * 6 - 5 + (N - i) * 3); A(i, j);
Next
Next

Else
MsgBox "请重新输入一个有效的行数:"
T1 = ""
T1.SetFocus
End If
End Sub