vb中求杨辉三角代码,顺便指出我的代码的错误,急!

杨辉三角:11112113311464115101051我自己的代码如下:Dima(i,j)AsInteger,iAsInteger,jAsIntegerPrivateS... 杨辉三角:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1我自己的代码如下:
Dim a(i, j) As Integer, i As
Integer, j As Integer
Private Sub Form_click()
a(0, 0) = 1
a(0, 1) =
1
a(1, 1) = 1
For i = 1 To 4
For j = 1 To 5
a(i, j + 1) = a(i - 1,
j) + a(i, j)
Next
Next
Print a(i, j)
End Sub
点击确定后,dim
a(i,j)j处变成蓝色的了,显示“要求常数表达式”,除了这个,我估计代码里还有其他问题。
希望各位上传正确代码的同时指出我的代码的错误,不然我会挂科的~~THANK YOU!
杨辉三角是这样的:
第一行:1
第二行:1,1
第三行:1,2,1
第四行:1,3,3,1
第五行:1,4,6,4,1
第六行:1,5,10,10,5,1
本来有图片的,它说我的图片非法。我手打,它又被变成一行的。百度抽风啊!
展开
 我来答
UNi2013
2013-05-26 · TA获得超过293个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:159万
展开全部

你的代码:

Dim a(i, j) As Integer 这样是错误的,要明确指定数组规模 例如:Dim a(5, 5) As Integer


我的代码:

Private Sub Form_click()

    Form1.Cls

    Dim i As Integer, j As Integer

    Dim n As Integer    ' n=矩阵规模

    Dim a() As Integer

    n = 6

    ReDim Preserve a(1 To n, 1 To n)

    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 - 1) + a(i - 1, j)

            End If

            Print a(i, j);

        Next

        Print

    Next

End Sub

syx54
2013-05-26 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2751万
展开全部
当 i、 j 还没有赋值,是不能这样用的:

Dim a(i, j) As Integer
更多追问追答
追问
那该如何用啊
追答
我给你个完整可用的,作参考吧!

你自己学习,对上面代码作修改:
Option Explicit

Private Sub Command1_Click()
Dim N As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
N = InputBox("请输入行数!", , 10)
ReDim a(N + 1, N + 1), b(N + 1, N + 1)
Cls
k = 8
For i = 1 To N
Print String((N - i) * k / 2 + 1, " ");
For j = 1 To i
a(i, 1) = 1
a(i, i) = 1
a(i + 1, j + 1) = a(i, j) + a(i, j + 1)
b(i, j) = Trim(Str(a(i, j)))
Print b(i, j); String(k - Len(b(i, j)), " ");
Next j
Print
Next i
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式