问题 问答题

在考生文件夹下有一个工程文件sj5.vbp,相应的窗体文件为sj5.frm,此外在考生文件夹下还有一个名为in5.txt的文本文件,其内容如下:   10,11,12,13,14.15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33。34   程序运行后,双击窗体,将把文件in5.txt中的数据输入到二维数组Arr中,在窗体上按5行×5列的矩阵形式显示出来,并在其下显示该矩阵左上一右下对角线的右上部分。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并使之能正确运行。程序运行效果如图2—5所示。

  要求:去掉程序中的注释符“’”,把程序中的“”改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。

答案

参考答案:本题重点考查二重For循环和二维数组的使用。根据题意,将两个文本框控件和两个标签控件添加到窗体中,文本框的名称分别为Text1和Text2、Text属性都为空,Text1的MultiLine属性为True、ScrollBar   属性为2、标签的Caption属性分别为“矩阵如下:”和“矩阵的右上半部:”。设置完成后,双击Form进入代码编写窗口,在其DblClick事件中补充如下代码:   Private Sub Form_DblClick()   Dim str As String   Dim tmp As String   Dim i As Integer   Dimj As Integer   Dim Arr(5,5)As Integer’定义二维数组   str=""   Open"App.Path&\in5.txt"For Input As#1’打开文件准备读取   For i=1 To 5 ’第一层For循环代表数组的行读取    For j=1 To 5    ’第二层For循环代表数组的列读取    Input#1,Arr(i,j)    ’将读取到的数放入数组中    str=str+CStr(Arr(i,j))+""    ’将数组写入字符串中    Next j    str=str+vbCrLf    ’每读完一行则添加换行字符串   Next i   Close#1’关闭文件   tmp=""   For i=1 To 5   ’For循环读取数组对角线的右上部分    For j=1 To 5    If j<=i Then ’当该数是矩阵的左下部分时    tmp=tmp+""+"" ’加入空格    Else’当该数是矩阵的右上部分时    tmp=tmp+CStr(Arr(i,j))+""    ’将读取到的数据写入字符串    End If    Next j    tmp=tmp+vbCrLf   Next i   Text1.Text =str’在Text1中显示数组   Text2.Text=trap ’在Text2中显示数组右上部分   End Sub   单击 按钮运行程序,并按要求保存。

单项选择题
单项选择题