题目

在一条宽度度为L的直线小河中,一只青蛙想沿着直线从河的左侧跳到右侧。小河中有n片位置互不相同的荷叶,青蛙必须跳到荷叶上过河,否则会掉入水中。开始时青蛙站在河的左侧(坐标为0),接着不停地向右侧跳跃,每次跳跃的距离不超过W,当青蛙跳到或跳过河的右侧(坐标为L)时,青蛙完成过河。例如当L=20,n=4,W=5,开始时4片荷叶的坐标为3,9,11,17,则至少需要增加2片荷叶,即在坐标8和16分别增加一个荷叶,得到过河的可行方案是0→3→8→9→11→16→17→20。 图a 图b 编写程序找出青蛙成功过河至少需要增加的荷叶数,界面如图b。请回答以下问题: (1)   若要将列表框List1顶端与窗体顶端的距离设置为100,能实现该功能的语句是(A . List1.Height = 100 / B . List1.Top = 100 / C . List1.Width = 100)。 (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。 Private Sub Form_Load() '读取荷叶的位置,并保存到数组a中 '荷叶的数量保存在n中 '荷叶坐标和数量分别显示在list1和Text2中 End Sub Private Sub Command1_Click()     Dim a(0 To 100) As Integer     Dim n As Integer, L As Integer, W As Integer, tot As Integer     Dim i As Integer, j As Integer, p As Integer, d As Integer     L = Val(Text1.Text) : n = Val(Text2.Text) : W = Val(Text3.Text)     a(0) = 0 : a(n + 1) =     For i = 1 To n - 1         k = i         For j = i + 1 To n             If a(k) > a(j) Then         Next j         If k <> i Then             tmp = a(k): a(k) = a(i): a(i) = tmp         End If     Next i     For i = 1 To n         List1.AddItem a(i)     Next i     p = 1: d = 0     Do While d < L         If p <= n + 1 And  Then             d = a(p)             p = p + 1         Else             tot = tot + 1                      End If     Loop     Label4.Caption = "至少需要增加的荷叶数为:" + Str(tot) End Sub (3) 程序中加框处代码有错,请改正。 答案: 【1】B 【1】L【2】a(p)-d<=W【3】d=d+W k=j
信息技术 试题推荐
最近更新