问题
单项选择题
某人编写了下列程序,用来求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.把Ifa(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=O改为max=a(10)
答案
参考答案:D
解析:
本题考查的考点是有关循环和数组的。本题为了实现求取最大值,首先应该假设数组中的某一个数就是最大值,再依次与数组元素比较,一旦某个元素比当前的最大值大,就把它作为新的最大值。max初值设为。是不可以的,它没有考虑到数组元素都小于0的情况。