注意:下面出现的“考生文件夹”均为C:\wexam\25160002。 在考生文件夹下有一个工程文件sjt5.vbp,窗体上二有两个文本框,名称分别为Text1和Text2,都可以多行显示。还有3个命令按钮,名称分别为C1、C2和C3,标题分别为“取

admin2009-02-25  21

问题 注意:下面出现的“考生文件夹”均为C:\wexam\25160002。
   在考生文件夹下有一个工程文件sjt5.vbp,窗体上二有两个文本框,名称分别为Text1和Text2,都可以多行显示。还有3个命令按钮,名称分别为C1、C2和C3,标题分别为“取数”、“排序”和“存盘”。“取数”按钮的功能是把考生文件夹下的in5.dat文件中的50个整数读到数组中,并在Text1中显示出来;“排序”按钮的功能是对这50个数按升序排序,并显示在Text2中;“存盘”按钮的功能是把排好序的50个数存到考生文件夹下的out5.dat文件中。程序运行界面如图23-5所示。
   在窗体中已经给出了全部控件和部分程序,要求阅读程序并去掉程序中的注释符,把程序中的?改为正确的内容,并编写“排序”按钮的Click事件过程,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后把修改后的文件按原文件名存盘。

选项

答案首先理清程序提供代码的思路,然后修改程序并编写代码。 从程序提供的代码中可以看出,整型数组a的使用范围是本窗体中的所有事件过程,用来存放从文件中读取的数据。在排序中,使用双重循环,外循环每踞环一次,确定内循环循环的次数,内循环就是把本次循环中最大的数,放在数组的最后面,这样就可以实现对这50个数的升序排序。解题步骤: 第一步:分析题目提供的代码。 Dim a(50) As Integer Private Sub C1_Click() Dim k As Integer,ch As String Open "in5.dat" For Input AS #1 ch=" " For k=1 To 50 ’Input #1, ? ch=ch+Str(a(k) ) +" " Next k Close #1 ’Text1.Text= ? End Sub Private Sub C3_Click() Open "out5.dat" For Output As #1 Print #1, Text2.Text Close #1 End Sub 第二步:编写程序代码。 参考代码: Dim a(50) As Integer Private Sub C1_Click() Dim k As Integer, ch As String Open "in5.dat" For Input As #1 ch="" For k=1 To 50 Input #1, a(k) ch=ch+Str(a(k) ) +" " Next k Close #1 Text1.Text=ch End Sub Private Sub C2_Click() Dim t As Integer, i As Integer, j As Integer Dim ch As String ch="" For i=50 To 2 Step -1 For j=1 To 49 If a(j)>a(j+1) Then t=a (j+1) a(j+1)=a(j) a(j)=t End If Next j Next i For j=1 To 50 ch=ch+Str(a(j) ) +" " Next j Text2.Text=ch End Sub Private Sub C3_Click() Open "out5.dat" For Output As #1 Print #1, Text2.Text Close #1 End Sub 第三步:调试并运行程序。 第四步:按题目要求存盘。

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

最新回复(0)