某班級(jí)學(xué)生為畢業(yè)晚會(huì)的一個(gè)節(jié)目設(shè)計(jì)一個(gè)仿“V”字造型,先篩選出班級(jí)中n名學(xué)生的所有男生,然后將參演的男生按照身高,擺出中間低兩邊高(先右后左)的造型,如圖1所示。王林同學(xué)用VB編寫模擬“節(jié)目造型”程序,功能如下:從數(shù)據(jù)庫中導(dǎo)出所有學(xué)生編號(hào)、性別和身高數(shù)據(jù);單擊“篩選排序”按鈕Command2,根據(jù)身高仿“V”字和造型進(jìn)行有序排列,并將結(jié)果顯示在文本框Text2中。程序運(yùn)行界面如圖2所示。舉例說明如下:
原1-7號(hào)男生身高 |
171172180174176179178 |
篩選排序后序列 |
171172174176178179180 |
“造型設(shè)計(jì)”后序列 |
180178174171172176179 |
身高順序:男3號(hào)>男6號(hào)>男7號(hào)>男5號(hào)>男4號(hào)>男2號(hào)>男1號(hào)
Dimh(1Ton)AsInteger
Dimheight1(1Ton)AsInteger
Dimheight2(1Ton)AsInteger
DimnAsInteger,iAsInteger,jAsInteger,numAsInteger,tmpAsInteger
Dimsex(1Ton)AsString
PrivateSubForm_Load ( )
'n名學(xué)生的身高和性別由數(shù)據(jù)庫導(dǎo)出,分別存儲(chǔ)在數(shù)組h和sex中,代碼略!
EndSub
PrivateSubCommand1_Click ( ?。?br />b=0
Fori=1Ton'n名學(xué)生中的男生
Ifsex(i)=“男”Then
①:height1(num)=h(i)
Nexti
Fori=1Tonum-1
Forj=numToi+1Step-1
Ifheight1(j)<height1(j-1)Then
tmp=height1(j):height1(j)=height1(j-1):height1(j-1)=tmp
EndIf
Nextj
Nexti
Fori=1Tonum
Text1.Text=Text1.Text+““+Str(height1(i))
Nexti
EndSub
PrivateSubCommand2_Click ( ?。?br />Dimleft,rightAsInteger,iAsInteger,midAsInteger
mid=Int((1+num)/2)
left=0:right=0
height2(mid)=height1(1)
Fori=1To(num-1)\2
right=right+1
height2(mid+right)=height1(2*i)
left=left+1
②Nexti
IfnumMod2=0Then③
height2(num)=height1(num)
height2(num)=height1(num)
Fori=1Tonum
Text2.Text=Text2.Text+““+Str(height2(i))
Nexti
EndSub
(1)若參演的8名男生身高為“180、171、173、174、178、175、176、170”,程序執(zhí)行結(jié)束后height1(5)的值是
175
175
。
(2)在程序①、②、③畫線處填入適當(dāng)?shù)恼Z句或表達(dá)式。將程序補(bǔ)充完整:
①num=num+1
①num=num+1
程序中①畫線處應(yīng)填入
num=num+1
num=num+1
;程序中②畫線處應(yīng)填入
height2(mid-left)=height1(2*i+1)
height2(mid-left)=height1(2*i+1)
;程序中③畫線處應(yīng)填入
height2(num)=height1(num)
height2(num)=height1(num)
;