(1)有5堆果子重量分别是:17,15,16,16,19,则小明将5堆果子搬成1堆至少需要消耗体力值为________。
(2)请在①②③处填上合适代码,实现程序功能。
Dim n As Integer
Dim a(1 To 100) As Integer 'a数组存储各堆果子重量
Dim b(o To 100)As Integer 'b(0)存放a数组中最小值的下标,若a(i)是数组中最大数,则 b(i)的值为-1
Dim flag(l To 100)As Boolean
Private Sub Form_Load()
'初始化果子的数量n和每堆果子的重量a(i),并依此显示在列表框list1中,代码略
'初始化b数组的值均为-1,flag 数组的值均为False,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer,k As Integer
Dim p As Integer,q As Integer,w As Integer
p =0
Do While True '生成b数组,标记升序后a(i)的下一个元素在a数组中的位置为b(i)
For i = 1 To n
If Not flag(i)Then k = i :Exit ForNext i
If i = n+1 Then Exit Do
i =1
Do While i <= n
If Not flag(i) And a(k) >a(i)Then k =ii=i+1
Loop
b(p)= k
flag(k)=True
①____
Loopw= 0
p =b(0):q =b(p)
Do While b(p)< >-1
a(p)=a(p)+a(q)
w=②____
If b(q)< >-1 Then b(0)= b(q)Else Exit Do
Call sort(p)
p = b(0) :q = b(p)
LoopText1.Text= Str(w)
End Sub
Sub sort(p As Integer) '将a(p)插人到合适位置
Dim pl As Integer,ql As Integer
pl = b(0)
If a(p)<=a(pl)Then
b(0)=p : b(p)= plElse
Do While a(p) >a(p1) And b(p1)< >-1ql = pl : pl = b(pl)
Loop
If b(p1)=-1 And a(p) >a(p1) Then
b(pl)=p : b(p)=-1
Else
b(p)= pl :③____
End If
End If
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