vb题 求解答

3.有如下的程序段:
Dim a(4) As Integer
Dim b(4) As Integer
For k = 0 To 2
a(k + 1) = Val(InputBox("Enter data:"))
b(3 - k) = a(k + 1)
Next k
Print b(k)
程序运行后,依次输入1,3,5,输出的结果是______________。
A)1
B)3
C)5
D)0
帮忙分析下过程~越详细越好
谢谢啦~

哥们别误人子弟,
答案是A,K变量循环结束后的值是3而不是2,B(3)的值是1
Dim a(4) As Integer ‘定义包含4个元素的数组A
Dim b(4) As Integer‘定义包含4个元素的数组B
For k = 0 To 2'从0到2共循环三次
a(k + 1) = Val(InputBox("Enter data:"))’获取输入的值在A数组,三次的结果为A(1)=1,A(2)=3,A(3)=5
b(3 - k) = a(k + 1),将A数组的值倒序存放在B数组,执行后为B(3)=A(1),B(2)=A(2),B(1)=A(3)
Next k'循环体结束
Print b(k)'打印B(3)的值,即A(1)接收的输入值1
简单的说这段程序就是将你三次输入的数值按倒序排列,然后输出倒序后的最后一个值。
重点就在最后那个PRINT B(K)使用了循环体的变量K,因为这个K在循环开始初始值为0,到循环结束时他的值是3而不是2,这段程序主要考察对FOR循环体,循环变量的理解,即TO 2指小于等于2。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-23
A
下面是三次循环后,数组a、b的值
a(1)=1 b(3)=1
a(2)=3 b(2)=3
a(3)=5 b(1)=5
最后输出时,k=3,而b(3)=1,所以是1
第2个回答  2011-03-23
k=0 a(1)=1 b(3)=a(1) b(3)=1
k=1 a(2)=3 b(2)=a(2) b(2)=3
k=2 a(3)=5 b(1)=a(3) b(1)=5
print b(2) b(2)=3追问

你好~谢谢你啦。不过,你确定答案吗?我也不知道我买的书是不是准确,但貌似答案不是这个

相似回答