某会务组根据参会者到达指定上车点时间和每位参会者可以等待的时间信息,安排车辆接送参会者去宾馆(不考虑车子座位数量)。参会者到达上车点的时间和可以等待的时间用长度为7的字符串表示,例如“08:12 2”表示参会者当天8点12分到达上车点,最多等待2分钟(每个人的等待时间都小于10),那么该参会者最晚8点14分出发去宾馆。
编写VB程序,统计接送n个参会者所需的最少车辆数。运行程序,列表框List1中显示所有参会者提交的信息,按到达时间先后排列。单击“统计”按钮Command1,在文本框Text1 中显示所需的最少车辆数。程序运行界面如图所示。
(1)
如图所示,接送所有参会者最少需要辆车
(2)
实现上述功能的部分VB程序如下,请在划线处填入合适的代码。
Dim n As Integer
Dim a(1 To 100) As String
Dim b(1 To 100) As Integer
Dim c(1 To 100) As Integer
Dim fg(1 To 100) As Boolean
Private Sub Form_Load()
'读取n个参会者提交的信息,依次存入a(1)~a(n)
'将a(1)~a (n)按参会者到达时间排序,并在List1中显示,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As String
Dim sum As Integer, q As Integer
For i=1 To n
b(i) = T(Mid(a(i), 1, 5))
c(i) = b(i) + Int Mid(a(i), 7, 1))
For j=1 To 2 Step-1
k=
If c(k) > c(j) Then
q=b(k):b(k)=b(j):b(j)=q
q=c(k):c(k)=c(j):c(j)=q
Else
Exit For
End If
Next j
Next i
sum=0
For i=1 To n
If fg(i) = False Then
For j=1 To n
If Then
fg(j) = True
End If
Next j
End If
Next i
Text1.Text = str (sum)
End Sub
Function T(str1 As String) As Integer
T = Int(Mid(str1,1, 2)) * 60 + Int(Mid(str1, 4, 2))
End Function
答案: 【1】3
【1】j-1【2】fg(j) = False And b(j) <= c(i)【3】sum=sum+1