为计算an的值,某人编写了函数power如下: Private Function power(a As Integer,n As Integer)As Long Dim s As Long P=a For k=l To n

admin2019-03-14  17

问题 为计算an的值,某人编写了函数power如下:
  Private Function power(a As Integer,n As Integer)As Long
    Dim s As Long
    P=a
    For k=l To n
    P=P*a
    Next k
    power=P
    End Function
    在调试时发现是错误的,例如Print power(5,4)的输出应该是625,但实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一个是(     )。

选项 A、把For k=1 To n改为For k=2 To n
B、把P=P*a改为P=P^n
C、把For k=1 To n改为For k=1 To n-l
D、把P=a改为P=1

答案B

解析 程序中计算a”的算法有误,由于已经将a的值赋给了 p,往后边的For循环中再乘n次a显然就多乘了,一次a,因此,要改正此程序或者将p=a改为p=1,或者将fork=l to n改成for k=l to n-1或for k=2 to n。而B选项将p=p *a改为p=p^n将会导致p=p^n执行n次,得不到正确结果。
转载请注明原文地址:https://kaotiyun.com/show/fbUp777K
0

最新回复(0)