设有下面程序代码: Private Sub Command1_Cliek() Dim a As Vairant a=Array(22,43,23,56,87,45,67,12,98,98,56,34,23,75,64) m=a(0) n=m For k=1

admin2016-06-23  30

问题 设有下面程序代码:
Private Sub Command1_Cliek()
Dim a As Vairant
a=Array(22,43,23,56,87,45,67,12,98,98,56,34,23,75,64)
m=a(0)
n=m
For k=1 To UBound(A)
If a(k)>m Then
n=m
m=a(k)
ElseIf a(k)>n And a(k)< >m Then
n=a(k)
End If
Next k
Print n
End sub
程序运行时的输出是

选项 A、数组中最大的数(即98)
B、数组中最小的数(即12)
C、数组中第2大的数(即87)
D、数组中第1个数(即22)

答案C

解析 n和m都获得数组元素a(0)的值。在For循环中k=1时,a(k)=a(1)=43,If条件满足,n=a(0),m=a(1)。ElseIf判断的相同值的条件,只有在大于n并且不等于m的时候才赋值给n。因此11中存储的数永远比m小。而m中的值是数组中最大的值。因此选C。
转载请注明原文地址:https://kaotiyun.com/show/YcLp777K
0

最新回复(0)