当前位置: 高中信息技术 / 综合题
  • 1. (2021·浙江模拟) 求最少分组。某班n位学生去公园划船,已知每艘船的最大载重为m千克,每一位学生的体重数据保存在数组a中(单位:千克),现要将已经排好队的学生分成连续的若干个小组,并且保证每个小组的体重之和不超过m千克。例如:n = 6,m = 100,数组a中的体重数据依次为55,51,44,48,50,62,则最少分组为4组,分别为{55},{51,44},{48,50},{62}。

    小陈设计了VB程序用于解决该问题。程序运行时,在文本框Text1中输入学生的体重数据,用“,”号隔开。在文本框Text2中输入船的最大载重m。单击“计算”按钮Command1,读取学生体重数据到数组a中,并在标签Label1中显示最少分组数。程序运行界面如图所示。请回答下列问题:

    1. (1) 程序窗体名称为Form1,要想使程序加载时自动执行代码Form1.Caption = "求最少分组",则可将该代码添加在(单选,填字母:A .Form1_Load()/B .Form_Load()/C .Form1_Click() /D .Form_ Click())事件处理过程中。
    2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码;

      Private Sub Command1_Click()

          Dim a(1 To 40) As Integer

          Dim n As Integer, m As Integer

          Dim t As Integer

          Dim sum As Integer, c As Integer

          Dim s As String, ch As String,

          n = 0 : t = 0

          s = Text1.Text

          m = Val(Text2.Text)

          For i = 1 To Len(s)

              ch = Mid(s,i,1)

              If ch <> ","  Then

                 

              Else

                  n = n + 1

                  a(n) = t

                  t = 0

              End If

          Next i

          sum = 0 : c = 0

          For i = 1 To n

              If   Then  

                  sum = 0 : c = c + 1

              End If

              sum = sum + a(i)

          Next i

          Label1.Caption = "最少分组:" +  c

      End Sub

    3. (3) 程序加框处代码有误,请改正。

微信扫码预览、分享更方便