在考生文件夹下有一个工程文件sj5.vbp,相应的窗体文件为sj5.frm,此外在考生文件夹下还有一个名为in5.txt的文本文件,其内容如下: 10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,

admin2010-07-13  28

问题 在考生文件夹下有一个工程文件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循环和二维数组的使用。根据题意,将两个文本框控件和两个标签控件添加到窗体中,文本框的名称分别为Textl和Text2、Text属性都为空,Textl的MultiLine属性为True、ScrollBar属性为2、标签的Caption属性分别为“矩阵如下:”和“矩阵的右上半部:”。设置完成后,双击Form进入代码编写窗口,在其DblClick事件中补充如下代码: Private Sub Form_DblClick() Dim str AS String Dim tmp As String Dim i As Integer Dim j As IntegeT Dim ArT(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=tnlp+CStr(Arr(i,J))+"" ’将读取到的数据写人字符串 End If Next j tmp=tmp+vbCrLf Next i Textl.Text str’在Textl中显示数组 Text2.Text=tmp’在Text2中显示数组右上部分 End Sub 单击[*]按钮运行程序,并按要求保存。

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

最新回复(0)