题目

求数组a 中非降序数列的方法,算法描述如下: ⑴用数组依次存储每个非降序数列中最大的元素(查找过程中的最大值),初始时b(1)为数组a第1个元素。 ⑵加入方法:将a(i)与数组b中的每个元素依次逐个比较: 若a(i)不比b(j)小就用a(i)替换b(j)中的值;将a(i)添加到第j个非降序数列中,并连接到c数组的c(j)中。 若a(i)比b(j)都小,则在数组b最后添加新的元素值为a(i),即将a(i)添加到第j+1个下降数列中,并连接到c数组的c(j+1)中。 ⑶若数组a各元素的值为:12,36,16,36,27,18时,则3个非降序数列分别为:“12,36,36”,“16,27”,“18”。 程序运行界面如下图所示: 小明依据上述描述设计了如下VB程序。请回答下列问题: (1) 代码"List1.Clear"中的 Clear 是 。(单选,填字母: A .对象名 /B .事件名 /C .属性名 /D .方法名) (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。 Const m=15 Dim a(1 To m) As Integer Private Sub Form_Load() ‘读取m个数据,依次存储到 a(1)、a(2)、……a(m)中,代码略End Sub Private Sub Command1_Click() Dim b(1 To m) As Integer '存储数列最大的值Dim c(1 To m) As String     ‘存储非降序数列Dim i As Integer Dim bottom As Integer Dim j As Integer Dim bn As Integer      ‘存储非降序数列的个数List1.clear   b(1) = a(1)       ①     c(1) = Str(a(1))   For i = 2 To m       For j = 1 To bn          If   ②   Then             b(j) = a(i)                          Exit For          End If     Next j     If j > bn Then        bn = bn + 1             ③               c(b(n)) = Str(a(i))     End If   Next i For i = 1 To bn      List1.AddItem c(i) Next i Text2.Text = "数列中共有" + Str(bn) + "个非降序序列" End Sub ① ② ③  (3) 程序中加框处代码有错,请改正。 答案: 【1】D 【1】bn=1【2】a(i)>=b(j)【3】b(bn)=a(i) c(j)=c(j)+str(a(i))
信息技术 试题推荐
最近更新