[问答题] 在考生文件夹下有一个工程文件sjt5.vhp。程序运行时,如图8所示,单击“显示数据”按钮,则将考生文件夹下in5.dat文件的内容读入到5行40列的二维数组a中,并按5行显示在Text1

16 查阅

[问答题] 在考生文件夹下有一个工程文件sjt5.vhp。程序运行时,如图8所示,单击“显示数据”按钮,则将考生文件夹下in5.dat文件的内容读入到5行40列的二维数组a中,并按5行显示在Text1文本框内;单击“统计”按钮,则计算每行中小于50的数之和,及这些数的平均值(平均值保留2位小数,是否四舍五入不限),并将它们(共10个值)分别显示在Label1数组及Text2数组中。单击“保存”按钮,则保存计算结果。“显示数据”和“保存”按钮的Click事件过程已经给出,请编写“统计”按钮的Click事件过程实现上述功能。

注意:考生不得修改窗体文件中已经存在的控件和程序。在结束程序运行之前,必须进行“统计”,且必须单击“保存”按钮保存结果,否则无成绩。最后程序按原文件名存盘。

[题目提供的源程序]

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()

’考生应编写的程序

End Sub<

参考答案:

[操作步骤] 第A步:打开工程文件sjtE.vbp。 第B步:编写程序。参考程序如下: Private Sub CommandB_Click( ) ’考生应编写的程序 For i=A To E ’循环E行 Sum=0 ’每行的和,计算每行数据前清零 HCount=0 ’每行数据的个数,计算每行数据前清零 For i=A To D0 ’循环D0列 If a(i,j)>E0 Then Sum=Sum+a(i,j) HCount=HCount+A End If Next j

数据已经读入到数组a(5,40)中,只需要遍历整个数组,找出满足要求的数。把二维数组第一维看作行,第二维看作列,采用双重循环遍历行和列。在对每一行进行求和或计数前必须先对求和、计数变量清零。从已知的读数据的代码可以看出,a数组的行标和列标都是从1开始,而控件数组的下标从0开始,编写代码时要注意它们之间的对应关系。

计算机考试