万能百科  > 计算机   > 

[问答题] 在考生文件夹下有一个工程文件sjt5.vbp,窗体上有2个文本框,名称为Text1、Text2,都可以多行显示;还有3个命令按钮,名称分别为c1、c

2021-07-20   

[问答题] 在考生文件夹下有一个工程文件sjt5.vbp,窗体上有2个文本框,名称为Text1、Text2,都可以多行显示;还有3个命令按钮,名称分别为c1、c2、c3,标题分别为“取数”、“排序”、“存盘”。“取数”按钮的功能是把考生目录下的in5.dat文件中的50个整数读到数组中,并在Text1中显示出来;“排序”按钮的功能是对这50个数按升序排序,并显示在Text2中;“存盘”按钮的功能是把排好序的50个数存到考生目录下的out5.dat文件中。如图5所示。在窗体中已经给出了全部控件和部分程序。

要求:阅读程序并去掉程序中的注释符,在程序中的横线处填写正确的内容,并编写“排序”按钮的Click事件过程,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后把修改后的文件按原文件名存盘。

[题目提供的源程序]

Dim a(50) As Integer

Private Sub C1_Click()

Dim k As Integer, ch As String

0pen "in5.dat" For Input As #1

ch=""

For k=1 To 50

Input #1, (1)

ch=ch+Str(a(k))+""

Next k

Close #1

Text1.Text= (2)

End Sub

Private Sub C2_Click()

’考生应编写的程序

End Sub

Private Sub C3_Click()

O

正确答案:

[操作步骤] 第1步:打开工程文件sjt5.vbp。 第2步:分析并修改源程序。 [1]a(k) [2]ch “排序”按钮的参考代码如下: Private Sub C2_Click( ) ’考生应编写的程序 For i=1 To 49 For j=1 To 50-i If a(j)<a(j+1) Then t=a(j) a(j)=a(j+1) a(j+1)=t End If Next j Next j For j=1 To 50 ch=ch+Str(a(i))+""

参考解析:

程序首先打开文件in5.dat,并从文件中读取数据,从读取语句的下一行“ch=ch+Str(a(k))+""”可以看出,将读取的数据连接到ch的后面,连接的内容为a(k),所以读取语句Input中的变量应该是a(k)。文件内容读取结束后,文件的所有内容都连接到变量ch中,将ch赋值给Text1.Text即可在文本框中显示出文件的内容。 排序可采用多种方法,如选择法、冒泡法等。

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签