vb打杨辉三角形

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:41:39
Dim a(1 To 9, 1 To 9) As Integer

Private Sub Form_Load()
Print
Print
For i = 1 To 9
a(i, 1) = 1
a(i, i) = 1
Next i
For i = 3 To 9
For j = 2 To i - 1
a(i, j) = a(i - 1, j) + a(i - 1, j - 1)
Next j
Next i
Print
Print
For i = 1 To 9
For j = 1 To 9
Print Tab(20 - 2 * i + 4 * j); a(i, j);
Next j
Print
Next i
End Sub
用这个程序打出的杨辉三角形,是一个正常的杨辉和一个倒着的全是0的三角形拼成的平行四边形,这些0是哪里来的????

这样就可以了:
....

For i = 1 To 9
For j = 1 To i 'i 后面的不打印
Print Tab(20 - 2 * i + 4 * j); a(i, j);
Next j
Print
Next i

Print Tab(20 - 2 * i + 4 * j); a(i, j);你每次都打印9个a(i, j),除了正常的值外,其余都是0。要避免这种情况,应该这样:在这句话前面加上一句:If a(i, j) = 0 Then Exit For

For i = 1 To 9
For j = 1 To 9 改成For j = 1 To i
Print Tab(20 - 2 * i + 4 * j); a(i, j);
Next j
Print
Next i