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