编写寻找最长等差数列程序时,先随机生成n(n=20)个互不相同的整数,并降序排列后显示在List1中,找出由连续的数组元素构成的最长等差数列,并将其输出在列表框List2中(若长度相等,则输出靠前的一组),程序运行界面如图所示。
实现上述功能的VB程序如下。 Dim a(1 To 20)As Integer Dim n As Integer Private Sub Command1_Click( ) ‘随机生成20个互不相同的整数,存储在数组a中,n记录了整数的个数,代码略 End Sub Private Sub Command2_Click( ) Dim t,max,w As Integer Dim i,c As Integer max=1:w=1 i=2:t=2 ① Do While i<n If a(i+1)-a(i)=c Then t=t+1 If t>max Then max=t ② End If Else t=2 c=a(i+1)-a(i) End If i=i+1 Loop If max>2 Then For i= ③ To w List2. AddItem Str(a(i)) Next i Else List2. AddItem"没有找到等差数列" End If End Sub 以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。
答案:【1】c=a(2)-a(1)【2】w=i+1【3】w-max+1