问题 单项选择题

某人编写了下列程序,用来求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的情况。

解答题
多项选择题