问题 单项选择题

某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:
Private Sub Command1_Click()
Dim a(10) As Integer, max As Integer
For k = 1 To 10
a(k) = InputBox("输入一个整数")
Next k
max = 0
For k = 1 To 10
If a(k) > max Then
max = a(k)
End If
Next k
Print max
End Sub
运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是( )。

A) 把If a(k)>max Then改为If a(k)<max Then
B) 把max=a(k)改为a(k)=max
C) 把第2个循环语句For k = 1 To 10改为For k = 2 To 10
D) 把max=0改为max=a(10)

答案

参考答案:D

解析: 程序中把变量max的初始值设置为0,没有考虑到负数的情况。应该把它的初始值设置为数组中的一个元素的值,然后让数组中的各个元素与这个值比较,如果比它大,就替换变量max的值,这样才能得到数组中的最大值。因此要修改max=0这一行。

单项选择题
问答题 简答题