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

admin2015-08-13  27

问题 某人为计算n!(0<n<=12),编写了下面的函数过程:
    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

解析 原程序的错误在于没有把n的值乘进去。而B选项中把For k=n-1 To 2 Step-1改为For k=1 To n-1。依然没有把n乘进去。
转载请注明原文地址:https://kaotiyun.com/show/6vQp777K
0

最新回复(0)