。 Dim a(1 To 64)As Integer Dim b(0 to 1)As String Private Sub Form_Load ( ) b(0)=““:b(1)=“*“ '給數組 a 賦初值,并在列表框 List1 顯示箭頭圖形,代碼略 End Sub Private Sub up_Click ( ) Dim i As Integer,j As Integer,s As String,tmp As Integer List1.Clear For i=1 To 8'將第i 列數據向上平移一個位置 tmp=①
For j=2 To 8 a((j-2)*8+i)=a(②
) Next j a(7*8+i)=tmp Next i s=““ s=s+b(i) For i=1 To 64 If i Mod 8=0 Then List1.AddItem s:s=““Next i End Sub Private Sub turn_Click ( ) ‘調轉箭頭方向(朝上的變為朝下,朝下的變為朝上),代碼略 End Sub Private Sub down_Click ( ) ‘圖形向下移動一個位置,代碼略End Sub
(填整數)號。 (2)實現上述功能的 VB 程序如下,請在橫線處填入合適的代碼。 Private Sub get_Click ( ) Dim a(1 To 100)As Integer,bh(1 To 100)As Integer Dim b(1 To 100)As Integer Dim n As Integer,m As Integer'n 表示箱子數量,m 表示需領取物品的學生人數 Dim i As Integer,j As Integer,num As Integer Dim p As Integer,q As Integer,t As Integer,s As String '依次獲取 Text1 里物品數量存入數組 a,箱子上的編號(1 到 n)依次存入數組 bh,箱子數量存入變量 n,并按物品數量從多到少對箱子排序,代碼略 '依次獲取 Text2 里學生需要領取物品的數量存入數組 b,學生人數存入變量 m,代碼略p=1:q=1 For i=1 To m num=0 Do While num<b(i)num=num+a(q)a(q)=0 ①
Loop s=“第“& i &“位學生領取物品的箱子編號依次為:“ For j=p To q-1 s=s+Str(bh(j))Next j List1.AddItem s If num>b(i)Then a(q-1)=②
:q=q-1 For j=③
'維護非空箱子降序序列(按箱子中剩余物品數量)If a(j)<a(j+1)Then t=a(j):a(j)=a(j+1):a(j+1)=t t=bh(j):bh(j)=bh(j+1):bh(j+1)=t End If Next j p=q Next i List1.AddItem“剩余物品數量:“For i=1 To n If a(i)>0 Then List1.AddItem Str(bh(i))+“號箱子:“+Str(a(i))Next i End Sub