【单选】15.有m个人结伴旅行(m≤9,每个人用整数1~m编号)。期间既有全员参与的集体活动,也有自主参与的小团队活动。每项活动的消费由参与人平均分摊,其中一人先行垫付并记录。记录内容包括该项活动的人均消费金额(整数,单位:元)参与人。每项活动的参与人用字符串表示,垫付人排在第1位。如“25134”表示2、5、1、3、4号参与该项活动,其中2号是垫付人。旅行结束后依据所有活动的消费记录进行结算:
1)计算每个人的应还款(应还款=应分摊的总金额-先行垫付的总金额);
2)根据所有人的应还款数据计算转账明细(应还款为正的人转给应还款为负的人)。根据上述要求编写VB程序,功能如下:运行程序,读取消费记录数据并在列表框List 1中显示。单击“结算”按钮Command 1,在列表框List 2中显示每个人的应还款,在列表框List 3中显示转账明细。程序运行界面如图所示。
(1)结合程序与界面可知,AddItem是List 2的
_______(单选,填字母:A.方法名/B.事件名/C.属性名)。
(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
正确答案:B,您的答案:B,回答错误。
【解析】
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum
laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin
sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes,
nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus
mollis orci, sed rhoncus sapien nunc eget odio.