某人为计算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

admin2019-07-30  33

问题 某人为计算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

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

最新回复(0)