学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
果园里有n堆果子放在地上,现要将所有果子合并成一堆。每次只能合并两堆果子,消耗的体力等于两堆果子的重量之和。显然,n堆果子需要经过n-1次合并。合并果子的过程中总共消耗的体力等于每次合并所耗体力之和。为了尽可能地节省体力,我们每次都选择重量最小两堆进行合并。例如,有三堆果子,重量依次为1,2,9。可以先将1、2堆合并,新堆重量为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,重量为12,耗费体力为12。所以总共耗费体力为3+12=15。可以证明15为最小的体力耗费值。
编写VB程序,实现上述合并功能。运行程序时,将n堆果子的重量从数据库读入到a数组。单击“合并”按钮Command1后,在文本框Text1中输出最小的体力耗费值。请回答下列问题:
(1)若要清空文本框Text1中的内容,能实现该功能的语句是______(单选,填字母:A. Text1.Caption = "" / B.Text1.Clear  / C. Text1.Text = "")。
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
(3)程序中加框处代码有错,请改正。_____
Const n=5
Dim a(1 To n) As Integer
Private Sub Form_Load()
'将n堆果子的重量从数据库导入到数组a,代码略
End Sub
Private Sub Command1_Click()
Dim f As Boolean
Dim last As Integer
i = 1
Do While i < n And Not f
f = True
For j = n To i + 1 Step -1
If a(j) < a(j - 1) Then
t = a(j): a(j) = a(j - 1): a(j - 1) = t
last = j
f = False
End If
Next j

Loop
For i = 1 To n - 2
tmp = a(i) + a(i + 1)
j =_______
Do While a(j) < tmp
a(j - 1) = a(j)
j = j + 1
If j = n + 1 Then Exit Do
Loop
_______
Min = Min + tmp
Next i
________
Text1.Text = Min
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

用户名称
2019-09-19

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

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交