(2)
请在画线处填人合适的代码。
Const n=10
Dim a(o To n)As Integer ‘a(i)保存第i条记录的开始房间号
Dim b(0 To n)As Integer ‘b(i)保存第i条记录的房间数
Dim c As Integer,k As Integer,sp As Integer ‘k为原始记录数
‘读取原始k条记录的数据,依次存入a(1),b(1),a(2),b(2)…a(k),b(k),代码略
‘为了程序处理方便,虚设了下面2条记录
a(0)=0:b(0)=0:sp=k+1:a(sp)=10
000:b(sp)=0
Private Sub Command1_Click()
Dim i As Integer
c=Val(Text1,Text) ‘c为退掉的房间号
i=1
Do While a(i)
i=i+1
Loop
i=i+1
‘下面为处理退房登记问题
If a(i)+b(i)=c Then
If ①Then ‘第4种情况,上下靠
b(i)=b(i)+1+b(i+1)
For
j=i+1 to sp-1
a(j)=a(j+1):b(j)=b(j+1)
Next j
sp=sp-1
Else ‘第1种情况,上靠
b(i)=b(i)+1
End If
ElseIf c+1=a(i+1)Then ‘第2种情况,下靠
a(i+1)=c:b(i+1)=b(i+1)+1
Else ‘第3种情况,上下不靠
For j=②
a(j)=a(j-1).b(j)=b(j-1)
Next j
a(i+1)=c:b(i+1)=1:sp=sp+1
End If
‘下面为输出登记的记录,不包括虚设的两条记录
For i=1 to③
List3.AddItem“第”Str(i)&“记录(”& Str(a(i))&”,”& Str(b(i))&”)”
Next i
End Sub
①________ ②________ ③________