这道题来解析一下,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/31 19:49:48
(14)下列程序运行时输出的结果是
Option Base 1
Private Sub Form_Click()
Dim x(10) As Integer,y(5) As Integer
For i=1 to 10
x(i)=10-i+1
Next
For i= 1 to 5
y(i)=x(2*i-1)+x(2*i)
Next
For i= 1 to 5
Print y(i)
Next
End Sub
A) 3 7 11 45 19
B) 19 15 11 7 3
C) 1 3 5 7 9
D) 不确定的值
考生答案: A 正确答案: B

这道题为什么选B?第一次循环当I=1的时候,x(i)=10-i+1 ,X(1)我算的是10,那么y(i)=x(2*i-1)+x(2*i) 用X=10代入就是Y(1)=30啊,为什么是19,请高人指点,我算的是不是不对啊

x是个数组。初始化的代码是:
For i=1 to 10
x(i)=10-i+1
Next

结果是
x(1)=10
x(2)=9
x(3)=8
x(4)=7
x(5)=6
x(6)=5
...

i=1:
y(1) = x(2*i-1)+x(2*i)
= x(1) + x(2) = 10+9 = 19

i=2:
y(2) = x(2*i-1)+x(2*i)
= x(3) + x(4) = 8+7 = 15

i=3:
y(3) = x(2*i-1)+x(2*i)
= x(5) + x(6) = 6+5 = 11

...