求大佬解答!!!原题目:编写程序,输出斐波那契级数1、1、2
vb吧
全部回复
仅看楼主
level 5
伊阁笑 楼主
求大佬解答!!!
原题目:编写程序,输出斐波那契级数1、1、2、3、5、8……的前30项,要求每行输出5个(用数组来实现)。
写出来的代码如下:
Private Sub Command1_Click()
Dim a() As Integer
Dim i As Integer
a(1) = 1
a(2) = 1
For i = 3 To 30
a(i) = a(i - 2) + a(i - 1)
Next i
For i = 1 To 30
Print a(i),
If i Mod 6 = 0 Then Print
Next i
End Sub
[疑问]上述代码不知道哪里错了,运行时老是显示“下标越界”,求解答
2020年10月21日 13点10分 1
level 15
Dim a(1 To 30) As Integer
如果括号里是空的,那么数组里就没有元素,而VB在尝试引用空数组的元素时,也是报错“下标越界”,实际上是由于数组没有元素导致的错误
2020年10月21日 13点10分 2
补充:可以定义没有元素的数组(即括号里留空的数组),这叫动态数组,然后需要用ReDim语句向数组中添加元素,才能正常使用数组
2020年10月21日 13点10分
谢谢你
2020年10月21日 13点10分
不过我在dim a() as integer 里面增添了1to 30,还是显示“下标错误”
2020年10月21日 13点10分
@伊阁笑 在哪句报错的?
2020年10月21日 14点10分
1