考生文件夹下有工程文件sjt4.vbp。窗体的设计界面、各控件初始属性及有关代码见窗体文件。程序运行时的功能是,单击“开始”按钮,自动产生10个1~100的随机整数,且每产生一个整数,就将该整数显示到文本框Textl中,同时调用1次In-sAndSort过

admin2020-04-08  26

问题  考生文件夹下有工程文件sjt4.vbp。窗体的设计界面、各控件初始属性及有关代码见窗体文件。程序运行时的功能是,单击“开始”按钮,自动产生10个1~100的随机整数,且每产生一个整数,就将该整数显示到文本框Textl中,同时调用1次In-sAndSort过程,利用插入排序法自动将该整数插入到数组a中,并使数组a中已有的数据保持从小到大的顺序。待第10个整数插入结束后,将数组a中的全部数据按下标从小到大顺序显示到文本框Text2中(已从小到大排序),各数据问用空格分隔。
    程序的运行结果示意图如下图所示。

    程序已经给出,但不完整,请将其中的注释符去掉,把?改为正确的内容,以实现上述程序功能。
    注意:考生不得修改窗体文件中已经存在的控件和程序,最后程序按原文件名存盘。

选项

答案【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释“’”,将问号改为正确的内容。 参考答案(划线部分是需要填入的内容) Option Base 1 Const N As Integer=10 Dim(a()As Integer Private Sub Commandl_Click() Dim i As Integer Dim d As Integer ReDim a(N)As Integer Textl.Text="" Text2.Text="" Randomize For i=l To N d=Int(Rnd*100+1) Textl.Text=Textl.Text&d&"" Call InsAndSort(i,d,a()) Next i For i=l To N Text2.Text=Text2.Text&a(i)&" Next i End Sub Private Sub InsAndSort(ByVal c As Integer,By- Val d As Integer,ByRef b()As Integer) Dim k As Integer For k=c—1 To 1 Step一1 If d<b(k)Then b(k+1)=b(k) Else Exit For End If Next k b(k+1)=d End Sub 步骤3:调试并运行程序,关闭程序后按题目要求存盘。

解析 插入排序法是一种简单直观且稳定的排序算法。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据。本题程序具体算法描述如下:
转载请注明原文地址:https://kaotiyun.com/show/iNTp777K
0

最新回复(0)