在窗体上画1个名称为Command1的命令按钮,1个名称为Label1的标签,然后编写如下事件过程: Private Sub Command1_Click() Dim m As Integer, x As Integer Dim tag As

admin2015-06-30  28

问题 在窗体上画1个名称为Command1的命令按钮,1个名称为Label1的标签,然后编写如下事件过程:
Private Sub Command1_Click()
   Dim m As Integer, x As Integer
   Dim tag As Boolean
   x = InputBox("请输入一个正整数:")
   Do
      tag = True
      m = 2
      Do While tag And m < x \ 2
         If x Mod m = 0 Then
            tag = False
         Else
            m = m + 1
         End If
      Loop
      If Not tag Then x = x + 1
   Loop While Not tag
   Label1.Caption = x
End Sub
程序运行后,单击命令按钮Command1,并在输入对话框中输入14,则标签中显示的内容是

选项 A、7
B、13
C、14
D、17

答案D

解析 X为14时,进入外层的循环体,满足x最内层的do.while循环条件(大于2*m+1且tag为true)执行内层循环体。X满足If条件(x对m取余得0),故tag为False,跳出最内层循环,在外层循环中,由于tag为负,x自增1,x=15,且满足最外层循环条件。故第二次执行最外层循环的循环体。tag再次赋值为true,m=2,x满足内层循环条件,在内层循环中,不满足IF条件,故m为m+1为3,x和tag仍满足内层循环条件,故再次执行循环体,此时x和m满足If条件,故设置tag为false,推出内层循环。由于tag为负,x自增1,x=16,且满足最外层循环条件,再次进入内层循环。第三次执行外层循环的循环体,x满足内循环条件句,且满足If条件,故tag为flase。由于tag为false,x自增1,x=17,且满足最外层循环条件。当x=17,满组内层循环条件,不满足If条件,故m=3,如此多次执行循环体,直到m=7时,不满足最内层的循环条件,此时tag=true,x=17,m=7,退出内层循环。由于tag=true,则不执行x自增,且退出外层循环,故程序运行x的最终值为17。
转载请注明原文地址:https://kaotiyun.com/show/K5Qp777K
0

最新回复(0)