。 Dim n As Integer Dim xm(1 To n)As String Dim xb(0 To n)As String Dim cj(0 To n)As Integer Private Sub Form_Load( ) '讀取學(xué)生姓名、性別和成績(jī)分別存xm、xb和cj數(shù)組,并在列表框List1中顯示。 '學(xué)生人數(shù)存變量n,代碼略。 End Sub Private Sub Commandl_Click0 Dim s As String,k As Single,m As Single,mm As Integer DimcAs Integer,p As Integer,iAs Integer,j As Integer Dim tl As String,t2 As Integer s=Textl.Text k=Val(Text2.Text) c=0 For i=1To n If xb(i)=sThen ①_____ Next i m=c*k/100 If m<1Then mm=1 Else mm=②____ End If i=1 Do While i<=n p=i For j=i+1To n If xb (j)=s Then If Then p=j
End If Next j If i◇p Then t1=xb(i):xb(i)=xb(p):xb(p)=tl 2=cj(i):cjii)=cj(p):cj(p)=t2 End If If i>mm And(xb(i)◇xb(i-1)Or cj(i)◇cj(i-1))Then Exit Do i=i+l Loop ③_____ For i=1To mm List2.Addtem xm(i)+““+xb(i)+““+Str(cj(i)) Nexti End Sub
。 Constm=9'm表示座位有9排 Constn=10′n表示每排的座位數(shù)為10 Dim r As Integer'r表示當(dāng)次輸入的購(gòu)票人數(shù) Dim a(1 to m*n)As Integer'a數(shù)組存放每個(gè)座位的等級(jí)值 Dim b(l to m*n+1)As Integer′b數(shù)組保存當(dāng)前各座位選座情況,選中為1,未選為0 Private Sub Form_Load( ) '從第1排開始,按座位編號(hào)從小到大順序逐排讀取座位等級(jí)值并依次存入數(shù)組a '同上述順序,讀取選座狀態(tài)存入數(shù)組元素b(1)至b(m*n)中,輸出當(dāng)前選座狀態(tài)。代碼略 End Sub Function getsum(i As Integer,j As Integer)As Integer '從第i排第j列開始,計(jì)算第i排中滿足r個(gè)觀眾就座的連續(xù)空位等級(jí)值之和。 '若無(wú)法找到足夠的連續(xù)空位時(shí),則返回-1 Dim p As Integer,sum As Integer,k As Integer sum=0 p=j:k=(i-1)*n+p Do Whilep<=j+r-l And b(k)=0 sum=①____ p=p+1:k=k+1 Loop If p=j+r Then getsum=sum Else getsum=-1 End Function Private Sub Command1_Click) Dim iAs Integer,jAs Integer,s As String,max As Integer Dim t As Integer,newi As Integer,newj As Integer,pos As Integer r=Val(Textl.Text) max=0 For i=1To m Forj=l To n-r+1 ②____- If max<t Then max=t:newi=i:newj=j Next j Next i If max=0 Then Label3.Caption=“請(qǐng)自主選位” Else pos=(newi-1)*n+newj Fori=③_____ b(i)=1 Next i Label3.Caption=“推薦座位編號(hào):”&newi&“排”&newj&”-”&newj+r-1&”座” End If End Sub