问题 单项选择题

某人编写了一个能够返回数组a中10个数中最大数的函数过程,代码如下:
Function MaxValue(a()As integer)As Integer
Dim max%
max=1
For k=2 To 10
If a(k)>a(max)Then
max=k
End If
Next k
MaxValue=max
End Function
程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是 ( )。

A.语句max=1应改为max=a(1)

B.语句For k=2 To 10应改为For k=1 To 10

C.If语句中的条件a(k)>a(max)应改为a(k)>max

D.语句MaxValue=max应改为MaxValue=a(max)

答案

参考答案:D

解析: 本题考查算法的设计思想。函数MaxValue过程中,max保存了最大数的下标,初值为1,表示数组中第一个数的下标,从数组中第2数开始,如果a(k)>a(max),则改变max的下标值,max成为新找到的最大值的下标。因此,程序最后返回最大值为a(max)。

填空题
选择题