15.數組a存儲降序排列的m個數據,數組b中存儲的是升序排列的n個數據,且兩個數組中存儲的數據為區間[1,20]范圍內的不重復的隨機整數。現將兩個數組的數據合并到c數組中,使c數組的數據為左右交替上升,如表所示: 當窗體 Form1加載時,自動產生a、b數組的數據,并分別顯示在列表框List1與List2中,單擊合并按鈕Command1后,在c數組中保存按規則合并后的a、b數組的數據,并顯示在列表框List3中。程序截圖如下所示: 實現該功能的 VB 程序如下: Const m=5 Const n=6 Dim a(1 To m) As Integer Dim b(1 To n) As Integer Dim c(1 To m+n) As Integer ‘窗體加載時,生成數組 a、b 中的數據,并按要求排序后顯示在列表框中,代碼略 Private Sub Command1_Click ( ) Dim pa As Integer,pb As Integer,pc As Integer,s As Integer,flag As Boolean pa=m:pb=1:pc=1 flag=True Do While
If a(pa)<b(pb) Then s=a(pa) pa=pa-1 Else s=b(pb) pb=pb+1 End If c(pc)=s If flag Then pc=m+n-pc+1 Else pc=-pc End If
Loop ‘處理 a、b 數組中剩余數據,并在列表框 List3 中輸出數組 c,代碼略 End Sub (1)窗體加載的事件處理過程名為
。 (2)實現上述功能的VB代碼段如下,請在橫線處填上合適代碼。 Private Sub Command1_Click ( )' 加密過程 Dim a(1 To 100)As String Dim s1,s2 As String:Dim tmp As Integer tmp=1:s1=Text1.Text For i=1 To Len(s1) a(i)=Mid(s1,i,1) Next i s2=a(1) For i=2 To Len(s1) If
Then s2=s2+a(i):tmp=tmp+1 Else s2=s2+LTrim(Str(tmp))'LTrim
函數用以移除左邊的符號位空字符 s2=s2+a(i)
End If Next i s2=s2+LTrim(Str(tmp)):Text2.Text=s2 End Sub Private Sub Command2_Click ( )'解密過程 Dim b(0 To 100)As String Dim k As String,t As Integer,n As Integer Dim s As String,s3 As String,j As Integer s=Text2.Text:n=Len(s) For i=1 To n b(i)=Mid(s,i,1) Next i t=n-1:k=Val(b(n)) Do While t>0 If k<>0 Then For j=1 To k
t=t-1 Next j k=Val(b(t)) t=t-1 Else k=10 t=t-1 End If Loop Text3.Text=s3 End Sub