数组定义必须遵循两个原则:
1.静态数组,指定分量的个数,在程序中可以直接使用各个分量。
2.动态数组,用到时,使用开辟语句临时增加分量。
你的数组定义时没有指定个数,使用也没有开辟,当然就不对了。
Option
Base
1
Private
Sub
Command1_Click()
Dim
arr1(10)
As
Integer
Dim
arr2(3)
As
Integer
Dim
kk
As
Integer
Dim
i
As
Integer
kk
=
10
For
i
=
1
To
10
arr1(i)
=
2
*
i
Next
'''''我们列出arr(1)里面所有元素值,后面分析更加清析,依次
''arr1(1) (2)
........ arr1(10)
''
2 4
6
8
10
12
14
16 18
20
For
i
=
1
To
3
arr2(i)
=
2
*
arr1(3
*
i)
Next
''分析第二个FOR循环的运算过程
'''当i=1时
arr(1)=2*arr1(3*1) 最后的结果arr(1)=2*arr1(3)=2*6=12
'''当i=2时
arr(2)=2*arr1(3*2)
最后的结果arr(2)=2*arr1(6)=2*12=24
'''当i=3时
arr(3)=2*arr1(3*3)
最后的结果arr(3)=2*arr1(9)=2*18=36
'''12
24
36
For
i
=
1
To
3
kk
=
kk
+
arr2(i)
Next
'''把arr2(3)里面的元素相加,最后结果:kk=12
+24+
36=82
Print
kk
End
Sub
'''以上答案如有错误和疑点,请提出和追问!
Print y(n),
改成 Print y(i),
问题补充:
我已经知道你的意思了
For i = 1 To n
Print y(n),
If i Mod 5 = 0 Then Print
Next i
你这段代码就是按你的意思写的
但是你循环的是I 而是PRINT的是 y(n)
在这个循环中 n 是不变的,所以造成了你显示的Y数组全是同一个数
你把 y(n)改成y(i)问题就解决了
同时显示的只是X(i)里的偶数,不会显示奇数的
这里错了:
y(n + 1) = x(i)
n = n + 1
n的初值是0,下面有n = n + 1 ,也就是从1开始直到循环结束,n是连续变化的,结构就是数组中的偶数也是连续的。其实,这里n是不需要的改成这样就好了:
y(i) = x(i)
最后在输出y(n)的时候,
For i = 1 To n
Print y(n),
If i Mod 5 = 0 Then Print
Next i
里面print y(n),改成print y(i),