题目

【加试题】摘苹果游戏。游戏中的苹果树结了n个苹果,每个苹果有一个地面高度和摘它所需要的力气,要摘到苹果,必须具备高度和力气两个条件,每摘一个苹果都要用掉一定的力气。小林的可用力气是个有限值s,小林手伸直后能摘的最大高度为b,她可以借助的梯子的高度为a。游戏中苹果的高度和所需力气分别存储在数组h和数组c中。程序运行界面如题图所示。运行程序后,输入梯子高度a、手伸直高度b、可用力气s的值,单击“计算”按钮(Command1),在文本框Text4中输出小林最多能摘得的苹果数ans。 (1) 如图所示,树上的苹果总数为15。若将可用力气修改为90,则小林最多能摘得苹果的总数是 (2) 相应程序如下,在程序划线处填入适当的语句和代码,把程序补充完整。Dim c(1 To 100) As IntegerDim h(1 To 100) As IntegerDim d(1 To 100) As IntegerDim n As IntegerPrivate Sub Form_Load()  Dim Conn As New ADODB.Connection  Dim Rs As New ADODB.Recordset  Conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\GameDate.accdb"  ‘从数据库中读取n个苹果的摘取所需力气和高度存放在数组c和h中,并显示在List1中,代码略End SubPrivate Sub Command1_Click()  Dim a As Integer, b As Integer, s As IntegerDim i As Integer, j As Integer, m As Integer  a = Val(Text1.Text)        ‘梯子高度  b = Val(Text2.Text)        ‘手伸直高度  s = Val(Text3.Text)        ‘可用力气  m = 0  For i = 1 To n         ‘将所有能够摘得的苹果所需力气存储到数组d中     If         m = m + 1       d(m) = c(i)     End If  Next  For i = 1 To m - 1    k = i    For j = i + 1 To m      If  Then k = j    Next    If k <> i Then      t = d(k): d(k) = d(i): d(i) = t    End If Next  ans = 0         ‘用剩余的力气去摘最多的苹果  For i = 1 To m    If s >= d(i) Then                ans = ans + 1 End If  Next  Text4.Text = Str(ans)End Sub 答案: 【1】6 【1】a + b >= h(i) then【2】d(j) < d(k)【3】s = s - d(i)
信息技术 试题推荐
最近更新