某人为计算n!(0<n<=1 2)编写了下面的函数过程: Private Function fun(n As Integer)As Long Dim P As Long p=1

admin2013-10-16  36

问题 某人为计算n!(0<n<=1 2)编写了下面的函数过程:
    Private Function fun(n As Integer)As Long
             Dim P As Long
             p=1
             For k=n-1 To 2 Step-1
                   p=p*k
             Next k
             fun=p
    End Function
    在调试时发现该醺数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3种是正确的,错误的方案是

选项 A、把P=1改为P=n
B、把For k=n-1 To 2 Step-1改为For k=1 To n-1
C、把For k=n-1 To 2 Step-1改为For k=1 To n
D、把For k=n-1 To 2 Step-1改为For k=2 To n

答案B

解析 本题考查的考点是有关循环次数的。本题题干中程序的错误在于,p的值是从1一直乘到n-1的值,也就是n-1的阶乘。选项A)可以在这个基础上再乘n就得到n的阶乘;选项C)和D)都能够保证从1乘到n,只有选项B)是错误的。
转载请注明原文地址:https://kaotiyun.com/show/SLQp777K
0

最新回复(0)