[問答題] 在考生文件夾下有一個工程文件sjt5.vhp。程序運行時,如圖8所示,單擊“顯示數(shù)據(jù)”按鈕,則將考生文件夾下in5.dat文件的內(nèi)容讀入到5行40列
[問答題] 在考生文件夾下有一個工程文件sjt5.vhp。程序運行時,如圖8所示,單擊“顯示數(shù)據(jù)”按鈕,則將考生文件夾下in5.dat文件的內(nèi)容讀入到5行40列的二維數(shù)組a中,并按5行顯示在Text1文本框內(nèi);單擊“統(tǒng)計”按鈕,則計算每行中小于50的數(shù)之和,及這些數(shù)的平均值(平均值保留2位小數(shù),是否四舍五入不限),并將它們(共10個值)分別顯示在Label1數(shù)組及Text2數(shù)組中。單擊“保存”按鈕,則保存計算結(jié)果?!帮@示數(shù)據(jù)”和“保存”按鈕的Click事件過程已經(jīng)給出,請編寫“統(tǒng)計”按鈕的Click事件過程實現(xiàn)上述功能。
注意:考生不得修改窗體文件中已經(jīng)存在的控件和程序。在結(jié)束程序運行之前,必須進行“統(tǒng)計”,且必須單擊“保存”按鈕保存結(jié)果,否則無成績。最后程序按原文件名存盤。
[題目提供的源程序]
Dim a(5,40)
Private Sub Command1_Click()
Dim ch As String
ch$=""
Open App.Path & "in5.dat" For Input As #1
For i=1 To 5
For j=1 To 40
Input #1, a(i,j)
ch=ch & a(i,j) & ""
Next j
ch=ch & Chr(13) & Chr(10)
Next i
Close #1
Text1.Text=ch
End Sub
Private Sub Command2_Click()
’考生應(yīng)編寫的程序
End Sub
正確答案:[操作步驟] 第A步:打開工程文件sjtE.vbp。 第B步:編寫程序。參考程序如下: Private Sub CommandB_Click( ) ’考生應(yīng)編寫的程序 For i=A To E ’循環(huán)E行 Sum=0 ’每行的和,計算每行數(shù)據(jù)前清零 HCount=0 ’每行數(shù)據(jù)的個數(shù),計算每行數(shù)據(jù)前清零 For i=A To D0 ’循環(huán)D0列 If a(i,j)>E0 Then Sum=Sum+a(i,j) HCount=HCount+A End If Next j
參考解析:數(shù)據(jù)已經(jīng)讀入到數(shù)組a(5,40)中,只需要遍歷整個數(shù)組,找出滿足要求的數(shù)。把二維數(shù)組第一維看作行,第二維看作列,采用雙重循環(huán)遍歷行和列。在對每一行進行求和或計數(shù)前必須先對求和、計數(shù)變量清零。從已知的讀數(shù)據(jù)的代碼可以看出,a數(shù)組的行標和列標都是從1開始,而控件數(shù)組的下標從0開始,編寫代碼時要注意它們之間的對應(yīng)關(guān)系。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。