小李编写VB程序,功能如下:单击“生成数组”按钮Command1,则随机生成13个取值范围是1~13的正整数,分别存储到数组a中,对数组的元素进行升序排列,并在标签label1中显示;再单击“连续数”按钮Command2,则在排序后的数组a中查找连续个数最多(忽略重复数值)的一组数值(即连续数),若有两组连续数个数一样多,则取数值小的一组,将连续数显示在标签label2中。运行界面如图所示。
若实现上述功能的程序如下,请在划线处填写合适代码。 Dim a(1 To 13) As Integer Dim n As Integer Private Sub Command1_ Click( ) Dim i As Integer, s As String, j As String Randomize n=13 For i=1 To n a(i) = Int(Rnd * 13)+1 Next i For i=1 To n-1 For j=i+1 To n If a(j) < a(i) Then t=a(j)::a(i)=t End If Next j Next i s=“” For i=1 To n s = s+ Str(a(i)) If Then s=s+“,” Next i Label1. Caption =s End Sub Private Sub Command2_ Click( ) Dim i As Integer, j As Integer Dim t As Integer, k As Integer Dim max As Integer '存储连续数个数最大值 Dim begin As Integer '存储连续数开始的数值 k= 1 max=1 For i=2 To 13 If a(i)=a(i-1)+1 Or a(i)=a(i-1) Then If Then k=k+1 If k > max Then max= k begin = End If Else k=1 End If Next i s=" " For j=begin To begin+max-1 s =s+ Str(j) Next j Label2. Caption = s End Sub
答案:【1】a(j)=a(i)【2】i<n或i<>n或i<13或i<> 13【3】a(i)=a(i-1)+1【4】a(i)-k+1