题目

小杜编写VB解决上述问题的程序,其功能如下:程序运行时在文本框Text1中输入整数序列(输入的数据保证存在符合条件的子序列),在Text2中输入整数s。单击按钮Command1后在标签Label1上输出总和不小于s的连续子序列,程序运行如图所示。 (1) 给定整数序列为{5,1,3,5,10,7,4,9,2,8},整数s=15,符合条件的长度最小的子序列为。 (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。 Dim a(1 To 100) As Integer Dim sum(0 To 100) As Integer ’sum(i)存储 a(1)+a(2)+…+a(i)的值 Dim n As Integer, s As Integer Private Sub Form_Load() ‘读取整数序列依次存储在数组a中 ‘读取整数序列长度存储在变量n中 ‘本过程代码略 End Sub Private Sub Command1_Click() Dim i As Integer, ans As String Dim Min As Integer     ‘存储符合条件的最小长度 Dim iMin As Integer     ‘存储符合条件子序列的起始位置 s=val(Text2.text) For i = 0 To n  sum(i) = 0 Next i For i = 2 To n  sum(i) = a(i) + sum(i-1) Next i Min = n iMin = 1 For i = 1 To n  j=i  Do WhileAnd j<= n   j = j + 1  Loop  If j <= n And j - i + 1 < Min Then   Min = j - i + 1   iMin = i  End If Next i ans =“” For i = iMin To  ans = ans + Str(a(i)) Next i Label1.Caption = “符合条件的子序列为” + ans End Sub 答案: 【1】{5,10} 【1】sum(1) =a(1)【2】sum(j)-sum(i-1) < s【3】iMin+Min-1
信息技术 试题推荐
最近更新