窗体上有Text1、Text2两个文本框,并编写了下面的程序代码: Private Sub Form_Click() x%=29 Text1=fun(x) Do x=x+1 Loop Until IsPrime(x) Text2=x End Sub Pri

admin2016-06-22  15

问题 窗体上有Text1、Text2两个文本框,并编写了下面的程序代码:
Private Sub Form_Click()
x%=29
Text1=fun(x)
Do
x=x+1
Loop Until IsPrime(x)
Text2=x
End Sub
Private Function fun(ByVal x As Integer)As Integer
Do
x=x-1
Loop Until IsPrime(X)
fun=x
End Function
Private Function IsPrime(x As Integer)As Boolean
For k=2 To x/2
If x Mod k=0 Then
IsPrime=False
Exit Function
End If
Next k
IsPrime=Tnle
End Function
运行程序后单击窗体,则Text1、Text2中分别显示的是(    )。

选项 A、23和31
B、23和29
C、30和31
D、29和31

答案A

解析 本题中IsPrime函数的功能是判断一个数是否为素数,是素数则返回True,不是则返回False;素数的判断方法是:一个数除了能被1和自身整除以外,不能再被其他数整除。fun函数的功能是找出小于形参x最大的素数,并返回。在过程Form_Click事件过程中,Text1=fun(x),x=29,通过调用fun函数,得到小于29的最大素数为23,所以Text1中的值为23,Form_Click事件过程中的Do~Loop Until循环的功能是找到大于变量x的最小素数,大于29的最小素数为31,故Text2中的值为31,所以A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/P0Lp777K
0

最新回复(0)