设有如下事件过程:   Private Sub Commandl_Click() Dim a a=Array(12,3,8,5,10,3,5,9,2,4) For k=l To 9 Print fun(a(k一1),

admin2018-05-08  22

问题 设有如下事件过程:
  Private Sub Commandl_Click()
    Dim a
    a=Array(12,3,8,5,10,3,5,9,2,4)
    For k=l To 9
        Print fun(a(k一1),a(k));“”;
    Next k
End Sub
Private Function fun(X,y)As Integer
    Do While X>=Y
       X=X-Y
    Loop
    fun=X
End Function
程序运行时的输出结果是(     )。

选项 A、4 0 1 0 3 0 0 4 0
B、0 3 3 5 1 3 5 l 2
C、9  -5 3  -5 7  -2  -4 7-2
D、9 3 3 5 7 3 5 7 2

答案B

解析 数组默认下标为0,因此数组a中的元素a(0)=12,a(1)=3,a(2)=8,a(3)=5,a(4)=10,a(5)=3,a(6)=5,a(7)=9,a(8)=2,a(9)=4。
k=l时,fun(a(k-1),a(k))即fun(a(0),a(1)),即fun(12,3),过程中x=x-y=12-3=9-3=6-3=3-3=0,函数返回0;
k=2 时,fun(a(k-1),a(k))即fun(a(1),a(2)),即fun(3,8),x>=y不成立,函数直接返回3;   
k=3 时,fun(a(k-1),a(k))即fun(a(2),a(3)),即 fun(8,5),过程中x=x-y=8-5=3,函数回返3;   
k=4 时,fun(a(k-1),a(k))即fun(a(3),a(4)),即fun(5,l0),x>=y不成立,函数直接返回5;   
k=5时,fun(a(k-1),a(k))即tun(a(4),a(5)),即fun(10、3),过程中 x=x-y=10-3=7-3=4-3=1,函数返回1;   
k=6 时,fun(a(k-I),a(k))即fun(a(5),a(6)),即fun(3,5),x>=y不成立,函数直接返回3;   
k=7时,flirt(a(k-1),a(k))即fun(a(6),a(7)),即fun(5,9 ),x>=y不成立,函数直接返回5;   
k=8 时,fun(ak—1),a(k))即fun(a(7),a(8)),即fun(9,2),过程中 x=x-y=9-2=7-2=5-2=3-2=l,函数返回1;   
k=9 时,tun(a(k-1),a(k))即tun(a(8),a(9)),即fun(2,4),x>=y不成立,函数直接返回2;  
因此程序输出0 3 3 5 l 3 5 l 2。
转载请注明原文地址:https://kaotiyun.com/show/yvGp777K
0

最新回复(0)