问答题 在考生文件夹下有一个工程文件sjt5.vhp。程序运行时,如图8所示,单击“显示数据”按钮,则将考生文件夹下in5.dat文件的内容读入到5行40列的二维数组a中,并按5行显示在Text1文本框内;单击“统计”按钮,则计算每行中小于50的数之和,及这些数的平均值(平均值保留2位小数,是否四舍五入不限),并将它们(共10个值)分别显示在Label1数组及Text2数组中。单击“保存”按钮,则保存计算结果。“显示数据”和“保存”按钮的Click事件过程已经给出,请编写“统计”按钮的Click事件过程实现上述功能。
【正确答案】[操作步骤]
第1步:打开工程文件sjt5.vbp。
第2步:编写程序。参考程序如下:
Private Sub Command2_Click( )
'考生应编写的程序
For i=1 To 5 '循环5行
Sum=0 '每行的和,计算每行数据前清零
HCount=0 '每行数据的个数,计算每行数据前清零
For i=1 To 40 '循环40列
If a(i,j)>50 Then
Sum=Sum+a(i,j)
HCount=HCount+1
End If
Next j
Label1(i-1)=Sum '控件数组下标和行标之间相差1
Text2(i-1)=Format(Sum/HCount, "0.00")
Next i
End Sub
第3步:调试、运行并保存程序。
【答案解析】[解析] 数据已经读入到数组a(5,40)中,只需要遍历整个数组,找出满足要求的数。把二维数组第一维看作行,第二维看作列,采用双重循环遍历行和列。在对每一行进行求和或计数前必须先对求和、计数变量清零。从已知的读数据的代码可以看出,a数组的行标和列标都是从1开始,而控件数组的下标从0开始,编写代码时要注意它们之间的对应关系。