问题 单项选择题

某人编写了如下程序,用来求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

解析: 由于题中要求10个整数中最大值,并未限定是正整数还是负整数,因此不能将Max初值设为0,可以将Max设为该10个整数中的某一项,本题为a(10),然后与其余9个整数逐一比较,最终得到最大值。

单项选择题
单项选择题