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

admin2016-09-19  21

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

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

答案B

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

最新回复(0)