注意:下面出现的“考生文件夹”均为C:\wexam\25160002。 在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm,此外还有一个名为datain.txt的文本文件,其内容如下: 42 53 64 75 86

admin2009-02-25  39

问题 注意:下面出现的“考生文件夹”均为C:\wexam\25160002。
   在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm,此外还有一个名为datain.txt的文本文件,其内容如下:
   42 53 64 75 86 97 13 24 35 46 57 68 79 80 59 37 32 43 76 58 28 12 98 57 31
   程序运行后,单击窗体,将把文件datain.txt中的数据输入到二维数组Mat中,在窗体上按5行5列的矩阵形式显示出来,并输出矩阵左上-右下对角线上的数据,如图24-5所示。
   在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。
   要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

选项

答案从datain.txt文件中读出数据,存放到二维数组中,使用只读方式打开文件即可。用双循环输出5行5列的数。矩阵的左上右下对角线的数是行和列相同的元素,这样只要要求输出二维数组的行值和列值是相等的元素打印到窗体即可。解题步骤: 第一步:阅读题目提供的程序。 程序提供的代码: Option Base 1 Private Sub Form_Click() Const N=5 Const M=5 ’Dim ? Dim i, j ’Open App.Path & "\" & "datain.txt" ? As #1 For i=1 To N For j=1 To M ’? Next j Next i Close #1 Print Print "初始矩阵为:" Print For i=1 To N For j=1 To M Print Tab(5 * j) ; Mat(i, j) ; Next j Print Next i Print Print "左上-右下对角线上的数为:" For i=1 To N For j=1 To M ’If ? Then Print Tab (5 * j) ; Mat(i, j) ; Next j Next i End Sub 第二步:修改程序代码。 参考代码: Option Base 1 Private Sub Form Click() Const N=5 Const M=5 Dim Mat (M, N) Dim i, j Open App.Path & "\" & "datain.txt" For Input As #1 For i=1 To N For j=1 To M Input #1, Mat(i, j) Next j Next i Close #1 Print Print "初始矩阵为:" Print For i=1 To N For j=1 To M Print Tab(5 * j) ; Mat(i, j) ; Next j Print Next i Print Print "左上-右下对角线上的数为:" For i=1 To N For j=1 To M If i=j Then Print Tab (5 * j) ; Mat(i, j) ; Next j Next i End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。

解析
转载请注明原文地址:https://kaotiyun.com/show/Lh1p777K
0

最新回复(0)