
Print Tab(20 - 2 i + 4 j); a(i, j);你每次都打印9个a(i, j),除了正常的值外,其余都是0。要避免这种情况,应该这样:在这句话前面加上一句:If a(i, j) = 0 Then Exit For
我有一个杨辉三角的代码可供你参考,你的照片看不清楚,望采纳
Private Sub Command1_Click()Dim a() As Long
Dim n As Integer, v
Dim i As Integer, j As Integer
v = InputBox("请输入杨辉三角的行数")
If IsNumeric(v) = False Or Len(v) = 0 Then
MsgBox ("输入不是数字或者为空,请重新输入!")
Else
n = v
End If
ReDim a(n, n)
For i = 1 To n
For j = 1 To i
If j = 1 Or i = j Then
a(i, j) = 1
Else
a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
End If
Next j
Next i
For i = 1 To n
For j = 1 To i
Print Tab(n 3 - 3 i + 6 j); a(i, j);
Next j
Next i
End Sub
Private Sub Form_click()
n= inputbox("输入整数n:")
Dim shuzuer() As Long
Dim shuzu() As Integer
Dim i As Integer
Dim j As Integer
reDim shuzuer(1 To n, 1 To n)
reDim shuzu(1 To n)
MeCls
i = 1
j = 1
For i = LBound(shuzuer, 1) To UBound(shuzuer, 1)
For j = LBound(shuzuer, 2) To i
If j = 1 Or j = i Then
shuzuer(i, j) = 1
Else
shuzuer(i, j) = shuzuer(i - 1, j - 1) + shuzuer(i - 1, j) '要打印的数值
End If
Print Tab(5 (UBound(shuzuer, 1) - 1) - 5 (i - 1) + 10 (j - 1)); shuzuer(i, j); '打印成三角形状
Next
Next
End Sub
输出9行的“杨辉三角形”代码:
Private Sub Command1_Click()
Dim a(20) As Integer
a(1) = 1
For i = 1 To 9
Print Spc(20 - 2 i);
For j = i To 1 Step -1
a(j) = a(j - 1) + a(j)
Print Format(a(j), "@@@@");
Next j
Next i
End Sub
输入如下函数即可:
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim n As Integer
Dim a() As Integer
n = Val(Text1Text)
ReDim a(1 To n, 0 To n)
a(1, 1) = 1
For i = 2 To n
For j = 1 To n
a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
Next
Next
For i = 1 To n
Print Spc(2 (n - i));
For j = 1 To i
Print Format(a(i, j), "@@@@");
Next
Next
End Sub
扩展资料:
VB数学函数
1、Abs 函数
返回数字的绝对值。
Abs(number) number 参数可以是任意有效的数值表达式。
如果number包含Null,则返回Null如果是未初始化变量,则返回 0。
数字的绝对值是其无符号的数值大小。例如,Abs(-1)和Abs(1) 都返回1。
2、Atn函数返回数值的反正切值。
Atn(number) number 参数可以是任意有效的数值表达式。
说明 Atn 函数计算直角三角形两个边的比值 (number) 并返回对应角的弧度值。此比值是该角对边的长度与邻边长度之比。结果的范围是从 -pi/2 到 pi/2 弧度。
弧度变换为角度的方法是将弧度乘以 pi/180。
3、Cos 函数 返回某个角的余弦值。Cos(number) number 参数可以是任何将某个角表示为弧度的有效数值表达式。
参考资料来源:百度百科-Visual Basic
要求在窗体上打印出杨辉三角形,其打印行数由键盘输入。
设计思路�1.定义一个整型二维动态数组,其实际元素个数由键盘输入。�
2. 对输入数据进行检查,确保输入数据在1至16之间,以免溢出。�
3. 编写程序代码,当确认输入数据后,在窗体上打印杨辉三角形。
*** 作步骤
�1. 建立新项目,并设计窗体。
文本框用来输入要打印杨辉三角形的行数;“确定”按钮执行具体打印 *** 作;窗体左 侧的数字为打印的杨辉三角形实例。
�2. 为“确定”按钮编写如下代码:
Private Sub Command1Click()
�Dim RowNum() As Integer ′定义整型动态数组
�Dim i As Integer, j As Integer ′定义循环变量
�Dim Num As Integer
�Cls ′清空窗体内容
�Num=Val(Text1Text) + 1
�If Num >=18 Then ′对输入数据进行检查(小于17)
� Text1Text= 〃〃
� Exit Sub�
End If
ReDim RowNum(1 To Num, 1 To Num) ′根据输入值重新确定数组
’维数及大小�下面是具体打印杨辉三角形的代码:
For i = 1 To Num-1′将第一列及对角元素置1
� RowNum(i, i)=1
� RowNum(i, 1)=1
�Next
�For i = 3 To Num-1 ′计算其它元素值
� For j = 2 To i-1
� RowNum(i, j)=RowNum(i-1, j-1)+Row Num(i-1,j)
� Next
�Next
�For i = 1 To Num-1 ′打印杨辉三角形
� For j = 1 To i
� Print RowNum(i, j);
� Next
�Next
�End Sub
�3. 调试并运行程序,观察输出结果。
以上就是关于vb打杨辉三角形全部的内容,包括:vb打杨辉三角形、vb 杨辉三角、编写VB程序,要求输入以下的杨辉三角形(要求输入10行)1 11 121 1331 14641 15101051 急急急急急急!!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)