运行下列程序,在立即窗口显示的结果是 Private Sub Command0_Click() Dim I As Integer,J As Integer For I=2 To 10 For

admin2011-10-24  23

问题 运行下列程序,在立即窗口显示的结果是
    Private Sub Command0_Click()
        Dim I As Integer,J As Integer
        For I=2 To 10
            For  J=2 To I/2
                If I mod J=0  Then Exit For
            Next J
            If J>sqr(I)  Then Debug.Print I;
        Next I
    End Sub

选项 A、1 5 7 9
B、4 6 8
C、3 5 7 9
D、2 3 5 7

答案D

解析 本题考查循环运算。当i=2时,执行for j=2 to 1,此时i mod j为0,跳出j的for循环,此时j为2大于2的平方根,则输出2;当i=3时,执行for j=2 to 2,(需要注意i和j都为整数,当i/2不能整除时要四舍五入),i mod j不为0,继续循环j加1不再满足表达式,跳出j的for循环,此时j为2大于3的平方根,则输出3;当i=4时,执行for j=2 to 2,此时i mod j为0,跳出j的for循环,此时j为2等于4的平方根,不输出;当i=5时,执行for j=2 to 3,i mod j不为0,继续循环j加1为3,i mod j不为0,继续循环j加1不再满足表达式,跳出j的for循环,此时j为3大于5的平方根,则输出5;当i=6时,执行for j=2 to 3,此时i mod j为0,跳出j的for循环,此时j为2小于6的平方根;不输出;当i=7时,执行for j=2 to 4,i mod j不为0,继续循环j加1为3,i mod j不为0,继续循环j加1为4,i mod j不为0,继续循环j加1不再满足表达式,跳出j的for循环,此时j为4大于7的平方根,则输出7;当i=8时,执行for j=2 to 4,此时i mod j为0,跳出j的for循环,此时j为2小于8的平方根,不输出;当i=9时,执行for j=2 to 5,i mod j不为0,继续循环j加1为3,i mod j为0,跳出j的for循环,此时j为3等于9的平方根,不输出;当i=10时,执行for j=2 to 5,此时i mod j为0,跳出j的for循环,此时j为2小于10的平方根,不输出。因此最后输出2 3 5 7。
转载请注明原文地址:https://kaotiyun.com/show/4Tup777K
0

最新回复(0)