16.【加試題】數(shù)組變量a記錄著一個(gè)長(zhǎng)度為n(1≤n≤100)的序列a(1),a(2),…,a(n).現(xiàn)在寫一段代碼,以整數(shù)p(1≤p≤100)為參數(shù),實(shí)現(xiàn)如下功能:將序列a的前p個(gè)數(shù)與后n-p個(gè)數(shù)對(duì)調(diào),且不改變這p個(gè)數(shù)(或n-p個(gè)數(shù))之間的相對(duì)位置.例如,長(zhǎng)度為5的序列1,2,3,4,5,當(dāng)p=2時(shí)重排的結(jié)果為:3,4,5,1,2.小張用VB實(shí)現(xiàn)上述功能,在文本框Text1中輸入p的值,單擊“重排”按鈕Command1,在標(biāo)簽Text2中輸出結(jié)果,程序代碼如下,但數(shù)字處代碼有錯(cuò),請(qǐng)改正. Const n=100 Dim a(1To n) As Integer Private Sub Form_Load ( ?。?br />'本過程隨機(jī)產(chǎn)生n個(gè)數(shù),并存儲(chǔ)在數(shù)組a中,代碼略 End Sub Private Sub Command1_Click ( ) Dim p As Integer,i As Integer,j As Integer p=Val(Text1.Text) For i=p+1To n t=a(i) For j=i To i-p Step-1'① a(j)=a(j-1) Next j a(j+1)=t '② Next i Text2.Text=““ For i=1To n Text2.Text=Text2.Text+““+Str(a(i)) Next i End Sub.
. (2)實(shí)現(xiàn)上述功能的VB程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼. Const n=10 Dim i As Integer,j As Integer,t As Integer Dim a(1To n) As Integer Private Sub Form_Load ( ?。?br />'本過程用于讀取n堆的數(shù)據(jù)并存儲(chǔ)在數(shù)據(jù)a中 '代碼略 End Sub 'sort(x)過程的功能是對(duì)a(x)、a(x+1)、…、a(n)中的數(shù)進(jìn)行從小到大排序 Private Sub sort(x As Integer) For i=
To n-1 For j=n To i+1Step-1 If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t End If Next j Next i End Sub Private Sub Command1_Click ( ?。?br />Dim sum As Integer,k As Integer sum=0 sort (1) For k=1To n-1 a(k+1)=a(k)+a(k+1) sum=sum+