试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省高中信息技术 子序列问题练习

小杜编写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

举一反三
返回首页

试题篮