在屏幕上显示杨辉三角形                            1
                         1      1
                      1     2      1
                   1     3     3      1
               1      4     6      4     1
            1     5     10     10     5     1
          ......................................
Function c(ByVal x As Integer, ByVal y As Integer)
If y = 1 Or y = x + 1 Then
c = 1
Else
c = c(x - 1, y - 1) + c(x - 1, y)
End If
End Function
Private Sub Command1_Click()
Dim n, i, j As Integer
For n = 0 To 12   '控制输出多少行
For j = 0 To 24 - 2 * n '每行前面的空格数
Print Spc(1)
For i = 1 To i < n + 2
z = c(j, i)
Print z
Next i
Next j
Print "\n"
Next n
End Sub
在vb中运行不成功,请指点,再就是在vb中怎么用print输出回车换行

解决方案 »

  1.   

    晕,两个语言搞混了!
    输出回车是 print vbcrlf
    程序没细看
    你那个数组,先生成的吗?可以用递归,每次从上一行生成下一行
      

  2.   

    Function c(ByVal x As Integer, ByVal y As Integer)
    If x = 1 Or y = x Then
    c = 1
    Else
    c = c(x - 1, y - 1) + c(x, y - 1)
    End If
    End Function
    Private Sub Command1_Click()
    Dim n, j As Integer
    For n = 1 To 12 '控制输出多少行
            For i = 1 To n '每行的元素
                z = c(i, n)
                Print z; Spc(1);
            Next i
        Print vbCrLf
    Next n
    End Sub
    一看你的信誉值就知道你很少结贴,但是本着治病救人的态度,就给你看了一下