在考生文件夹下有一个工程文件sjt5.vbp。程序运行时,单击“显示数据”按钮,则将考生文件夹下in5.dat文件的内容读入一维数组a中,并按下标顺序将数组a各元素的值显示在List1列表框中;单击“移动”按钮,则将数组a中的最大值移动到数组的最前面,其他

admin2016-06-30  18

问题 在考生文件夹下有一个工程文件sjt5.vbp。程序运行时,单击“显示数据”按钮,则将考生文件夹下in5.dat文件的内容读入一维数组a中,并按下标顺序将数组a各元素的值显示在List1列表框中;单击“移动”按钮,则将数组a中的最大值移动到数组的最前面,其他数据的排列顺序不变,并将移动后的结果显示在List2列表框中。单击“保存”按钮,则保存移动后的结果。
    要求:“显示数据”和“保存”按钮的Click事件过程已经给出,请编写“移动”按钮的Click事件过程实现上述功能。程序窗体界面如图所示。
注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前必须单击“移动”按钮,并单击“保存”按钮保存结果,否则无成绩。最后程序按原文件名存盘。

选项

答案步骤1:打开本题工程文件。 步骤2:分析并编写程序代码。 程序提供代码 Option Explicit Option Base 1 Dim a(10)As Integer Private Sub Commandl_Click() Dim i As Integer Listl.CIear Open App.Path&”\in5.dat”For Input As#1 For i=1 To 10 Input#1,a(i) Listl.Addltem(a(i)) Next i Close#1 End Sub Private Sub Command2_Click() ’=======考生编写的程序======== ,======================== End Sub Private Sub Command3_Click() Dim i As Integer Open App.Path&”\out5.dat”For Output As#1 For i=0 To 9 Print#1,List2.List(i) Next i Close#1 End Sub 程序结束 考生编写部分填: Dim i,max,mflxindex As Integer max=a(1) For i=2 To UBound(a) If a(i)>max Then max=a(i) maxindex=i End If Next i List2.AddItem(a(maxindex)) For i=1 To UBound(a) If i<>maxindex Then List2.AddItem(a(i)) End If Next i 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 本题考查数组的使用,通过循环结构找出数组中的最大值及对应的下标,并将值分别保存起来。然后利用For循环和List.addltem方法将数组元素值添加到列表框中显示。
转载请注明原文地址:https://kaotiyun.com/show/YvLp777K
0

最新回复(0)