编程序题:输出杨辉三角形。设计一个窗体,在窗体上有1个文本框和1个命令按钮。(下面还有)
运行程序时,单击“输出”命令按钮,弹出输入对话框,用于输入要输出杨辉三角形的行数,假定要输入的数小于11,程序将计算并在文本框中输出杨辉三角形(文本框的多行属性已设置为1...
运行程序时,单击“输出”命令按钮,弹出输入对话框,用于输入要输出杨辉三角形的行数,假定要输入的数小于11,程序将计算并在文本框中输出杨辉三角形(文本框的多行属性已设置为1)
展开
2个回答
展开全部
下述代码,可以在你指定的界面(文本框的多行属性已设置为真),按等腰三角形的形式显示。但是没有考虑文本框的宽度不够的问题。
Const s$ = "杨辉三角" '标题
Private Sub Command1_Click()
ReDim yh(8, 8) As Long
Dim a As Byte '阶数
Const k = 5 '列宽
Dim i As Integer
Dim j As Integer
Do
a = Val(InputBox$("请输入你需要的阶数(1~12)", s$, 8))
If a > 12 Or a < 1 Then MsgBox "杨辉三角的阶数太大或非法!", , s$
Loop Until a < 13 And a > 0
ReDim yh(a, a)
Me.Caption = s$
yh(1, 1) = 1
For i = 2 To a
yh(i, 1) = 1
For j = 2 To i - 1
yh(i, j) = yh(i - 1, j - 1) + yh(i - 1, j)
Next j
yh(i, i) = 1
Next i
Text1 = ""
For i = 1 To a
Text1 = Text1 & String((a - i) * k / 2, " ")
For j = 1 To i
s1 = Trim(Str(yh(i, j)))
Text1 = Text1 & String(k - Len(s1), " ") & s1
Next j
Text1 = Text1 & vbCrLf
Next i
End Sub
Private Sub Form_Load()
Command1.Caption = "开始"
Text1 = ""
End Sub
Const s$ = "杨辉三角" '标题
Private Sub Command1_Click()
ReDim yh(8, 8) As Long
Dim a As Byte '阶数
Const k = 5 '列宽
Dim i As Integer
Dim j As Integer
Do
a = Val(InputBox$("请输入你需要的阶数(1~12)", s$, 8))
If a > 12 Or a < 1 Then MsgBox "杨辉三角的阶数太大或非法!", , s$
Loop Until a < 13 And a > 0
ReDim yh(a, a)
Me.Caption = s$
yh(1, 1) = 1
For i = 2 To a
yh(i, 1) = 1
For j = 2 To i - 1
yh(i, j) = yh(i - 1, j - 1) + yh(i - 1, j)
Next j
yh(i, i) = 1
Next i
Text1 = ""
For i = 1 To a
Text1 = Text1 & String((a - i) * k / 2, " ")
For j = 1 To i
s1 = Trim(Str(yh(i, j)))
Text1 = Text1 & String(k - Len(s1), " ") & s1
Next j
Text1 = Text1 & vbCrLf
Next i
End Sub
Private Sub Form_Load()
Command1.Caption = "开始"
Text1 = ""
End Sub
追问
这个是要求简单设计的题,高手 您设计的太深奥了,我们老师估计都看晕了,这个链接的题可以帮忙做一下吗?
http://zhidao.baidu.com/question/329843511.html
追答
就这叫深奥?老师人家拿脚都看了。
你不采用就算了,还附加什么条件呀?是不是不做那些填空选择,连这个都不算?
展开全部
Private Sub Command1_Click()
Dim a() As Single
n = Val(InputBox("请输入行数", "杨辉三角"))
ReDim a(n + 1, n + 1)
Text1.Text = ""
For i = 1 To n
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)
Text1.Text = Text1.Text & Format(a(i, j), "!@@@@")
Next j
Text1.Text = Text1.Text & vbNewLine
Next i
End Sub
Dim a() As Single
n = Val(InputBox("请输入行数", "杨辉三角"))
ReDim a(n + 1, n + 1)
Text1.Text = ""
For i = 1 To n
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)
Text1.Text = Text1.Text & Format(a(i, j), "!@@@@")
Next j
Text1.Text = Text1.Text & vbNewLine
Next i
End Sub
追问
高手 在吗,可以帮忙 做一下 下面链接的 题吗? 着急啊 (我发2个链接,一样的题,一共200分)
http://zhidao.baidu.com/question/329833106.html
http://zhidao.baidu.com/question/329825969.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询