VB题求斐波那数列前20项奇数项之和 第一项和第二项都是1从第三个元素开始,每个元素都是前两个元素的和

Private Sub Form_Click()
Dim d(100000), i As Long
d(0) = 0
d(1) = 1
For i = 2 To 20
d(i) = d(i - 1) + d(i - 2)
Next i
For i = 0 To 20
Print d(i) And Space(5)
If i Mod 5 = 0 Then Print
Next i
Print "奇数"
For i = 0 To 20
If d(i) Mod 2 = 0 Then
Print d(i);
Next i
End Sub
这个哪错了

重新给你做了一个

Private Sub Command1_Click()

Dim fibo(1 To 20) As Long, i As Integer

Dim n As Integer, s As Long

fibo(1) = 0

fibo(2) = 1

n = 0

For i = 3 To 20

   fibo(i) = fibo(i - 2) + fibo(i - 1)

Next i

For i = 1 To 20

   Print fibo(i);

   n = n + 1

   If n = 5 Then n = 0: Print

Next i

Print

For i = 1 To 20 Step 2

   s = s + fibo(i)

Next i

Print s

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-06
1、你的数组基数是0,所以前20项应该是d(0)-d(19),你可以在模块开头加上
OptionBase = 1
这样数组第一个元素索引就从1开始的,和我们日常的数字习惯更加吻合。

2、题目要的是奇数项而不是值是奇数的项目,所以
For i = 0 To 20
If d(i) Mod 2 = 0 Then
Print d(i);
Next i
应该是这样:
For i = 0 To 20
If i Mod 2 = 0 Then Print d(i);
Next i

PS:
Print d(i) And Space(5)
后面应该是分号
相似回答