1)计算每个人的应还款(应还款=应分摊的总金额-先行垫付的总金额);
2)根据所有人的应还款数据计算转账明细(应还款为正的人转给应还款为负的人)。根据上述要求编写VB程序,功能如下:运行程序,读取消费记录数据并在列表框List 1中显示。单击“结算”按钮Command 1,在列表框List 2中显示每个人的应还款,在列表框List 3中显示转账明细。程序运行界面如图所示。

(1)结合程序与界面可知,AddItem是List 2的
(2)实现上述功能的部分VB程序如下,请在划线处填入合适的代码。
(3)程序中加框处代码有错,请改正。
Const n=9,m=15
Dim x(1 To n)As Integer 'x(i)存储第i项消费记录的人均消费金额
Dim a(1 To n)As String 'a(i)存储第i项消费记录的参与人
Private Sub Form_Load( )
′读取所有消费记录,存入数组x和a中,并显示在列表框List 1中
′代码略
End Sub
Private Sub Commandl_Click( )
Dim i As Integer,j As Integer,k As Integer,p As Integer
Dim c As Integer,w As Integer,v As Integer
Dim b(1 To n),As Integer '保存应还款数据
For i= 1 To m
b(i)=0
Next i
For i=1 To n '根据消费记录计算应还款ni
k=Len(a(i))
p=Val(Mid(a(i),1,1))
b(p)=b(p)-(k–1)*x(i)
For j=2 To k
p=Val(Mid(a(i),j,1))
Next j
Next i
c=0
For i=1 To m
List 2. AddItem Str(i)+“号”+Str(b(i))
If b(i)>0 Then c=c+1
Next i
i=1:j=10 '根据应还款数据计算转账明细
Do While
Do While b(i)<=0
i=i+1
Loop
Do While b(j)>=0
j=j+1
Loop:
If w>0 Then|Else v =b(i)
b(i)=b(i)-v:b(j)=b(j)+v
List 3. Addltem Str(i)+“号->”+Str(j)+“号 ”+Str(v)
If w<=0 Then c=c–1
Loop
End Sub

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

