第 1 页:基本操作题 |
第 3 页:简单应用题 |
第 5 页:综合应用题 |
三、综合应用题
5在考生文件夹下有一个工程文件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,35
程序运行后,双击窗体,将把文件in5.txt中的数据输入到二维数组Arr中,在窗体上按5行×5列的矩阵形式显示出来,并在其下显示该矩阵左上-右下对角线的右上部分。在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并使之能正确运行。程序运行效果如图26-5所示。
图26-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
Dim j 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 = tmp '在text2中显示数组右上部分
End Sub
单击按钮运行程序,并按要求保存。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |