[填空題] 下面的程序代碼實(shí)現(xiàn)將一個(gè)一維數(shù)組中元素向右循環(huán)移動(dòng),移動(dòng)次數(shù)由文本框Text1輸入。例如數(shù)組各元素的值依次為0,1,2,3,4,5,6,7,8,9,
[填空題] 下面的程序代碼實(shí)現(xiàn)將一個(gè)一維數(shù)組中元素向右循環(huán)移動(dòng),移動(dòng)次數(shù)由文本框Text1輸入。例如數(shù)組各元素的值依次為0,1,2,3,4,5,6,7,8,9,10;移動(dòng)三次后,各元素的值依次為8,9,10,0,1,2,3,4,5,6,7。
Private Sub MoveRight(x()As Integer)
Dim i As Integer
Dim j As Integer
Dim k As Integer
i=UBound(x)
j=x(i)
For k=i To 【9】 Step—1
【10】
Next k
x(LBound(x))=j(luò)
End Sub
Private Sub Command1_Click()
Dim a(10) As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
For i=0 To 10
a(i)=i
Next i
j=Val(Text1.Text)
k=0
Do
k=k+1
Call MoveRight(a)
Loop Until k=j(luò)
For i=0 To 10
Print a(i);
Next i
End Sub
正確答案:[9] LBound(x)+1 [10] x(k)=x(k-1)
參考解析:使用LBound函數(shù)和UBound函數(shù)可以返回?cái)?shù)組的下界值和上界值。題中要實(shí)現(xiàn)將—個(gè)一維數(shù)組中元素向右循環(huán)移動(dòng),即每移動(dòng)最右端一個(gè)數(shù)時(shí),同時(shí)其它各個(gè)數(shù)在數(shù)組中的位置都發(fā)生了變化,相應(yīng)位置上的數(shù)組下標(biāo)要比移動(dòng)前大1,[10]處應(yīng)體現(xiàn)出這種變化,用C語(yǔ)句來(lái)表示為x(k)=x(k-1)。在循環(huán)移動(dòng)的過(guò)程中,循環(huán)次數(shù)由k來(lái)控制。但k的值不能取數(shù)組元素個(gè)數(shù)的值,因?yàn)檫@樣的話就回到了移動(dòng)前的初始狀態(tài),故循環(huán)次數(shù)控制到元素個(gè)數(shù)值減1,就可以完成數(shù)組中元素的循環(huán)移動(dòng)。故[9]處應(yīng)填LBound(x)+1,而不是LBound(x)。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。