【加試題】Excel 篩選功能中,有一種篩選方式是篩選出最大或最小的n項(xiàng).當(dāng)數(shù)據(jù)項(xiàng)中有相同項(xiàng)時(shí),篩選出來的數(shù)據(jù)條數(shù)則可能會超過設(shè)定的項(xiàng)數(shù),如圖1所示,設(shè)置篩選條件為最大的5項(xiàng),由于有4 個(gè)“87”的值并列第四,因此最后篩選結(jié)果就有7 條,而不應(yīng)該是5條.
現(xiàn)利用VB 編寫一個(gè)類似功能的程序.功能如下:數(shù)組xh、kh 和cj 分別存儲了序號、考號和成績數(shù)據(jù),窗體加載時(shí),序號、考號和成績顯示在列表框list1中.在文本框Text1中輸入數(shù)值N,點(diǎn)擊“篩選”按鈕,可以將成績最大的前 N 項(xiàng)篩選出來,并按由大到小的順序顯示在列表框list2 中.程序運(yùn)行界面如圖2所示.
實(shí)現(xiàn)上述功能的VB代碼如下,但加框處代碼有錯(cuò),請改正.
Dim num As Integer
Dim xh(1 To 1000)As String
Dim kh(1 To 1000)As String
Dim cj(1 To 1000)As Integer
Private Sub Form_Load( ?。?br />’本過程從數(shù)據(jù)庫中將序號、考號、成績分別存入
數(shù)組 xh、kh、cj 中,并將人數(shù)賦值給了 num
’代碼略
End Sub
Private Sub Command1_Click( ?。?br />Dim N As Integer,i As Integer,j As Integer
Dim t1 As String,t2 As Integer
N=Val(Text1.Text)
List2.Clear
For i=1 To N
k=i
If cj(k)<cj(j) Then k=j
Next j
If k<>i Then
t1=xh(i):xh(i)=xh(k):xh(k)=t1
t1=kh(i):kh(i)=kh(k):kh(k)=t1
t2=cj(i):cj(i)=cj(k):cj(k)=t2
End If
List2.AddItem xh(i)+““+kh(i)+““+Str(cj(i))
Next i
’以下代碼是處理可能存在的重復(fù)項(xiàng)
For i=N+1 To num
List2.AddItem xh(i)+““+kh(i)+““+Str(cj(i))
End If
Next i
End Sub.
【考點(diǎn)】編輯事件處理過程的代碼;冒泡排序算法及其實(shí)現(xiàn).
【答案】見試題解答內(nèi)容
【解答】
【點(diǎn)評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:4引用:1難度:0.1
相似題
-
1.學(xué)校舉辦了“語文作文現(xiàn)場賽”,參賽同學(xué)成績存儲在文本文件“gra.jye.ai”中,如左圖所示(每一行記錄一位同學(xué)的姓名和成績,以“:”分隔)。陳老師利用Python程序?qū)ψ魑某煽冞M(jìn)行處理,統(tǒng)計(jì)出各個(gè)分?jǐn)?shù)等級的人數(shù),并輸出結(jié)果。程序運(yùn)行界面如右圖所示。
實(shí)現(xiàn)上述功能的Python程序如下,請?jiān)趧澗€處填入合適的代碼。發(fā)布:2024/12/17 2:0:1組卷:6引用:2難度:0.3 -
2.有如下Python程序段:
執(zhí)行該程序段,輸入字符串“abcdefg”,則輸出的結(jié)果是( )發(fā)布:2024/12/20 6:30:1組卷:2引用:3難度:0.4 -
3.試題描述的內(nèi)容:
一個(gè)單窗體VB程序的運(yùn)行界面如圖所示。下列說法正確的是( ?。?br />(1)窗體內(nèi)有1個(gè)按鈕
(2)窗體內(nèi)有2個(gè)文本框
(3)窗體內(nèi)有3個(gè)標(biāo)簽
(4)該窗體的標(biāo)題(Caption)屬性值是“加法計(jì)算器”發(fā)布:2024/12/20 20:0:2組卷:1引用:1難度:0.6
把好題分享給你的好友吧~~