打开考生文件夹下的sj5.vbp,在名称为Forml的窗体上建立两个命令按钮,名称分别为Commandl和Command2,命令按钮上分别显示“输入”和“结果”(如图15—7所示)。程序运行时单击“输入”按钮,输入6个数放人数组a中,单击“结果”则把数组a

admin2010-07-13  22

问题 打开考生文件夹下的sj5.vbp,在名称为Forml的窗体上建立两个命令按钮,名称分别为Commandl和Command2,命令按钮上分别显示“输入”和“结果”(如图15—7所示)。程序运行时单击“输入”按钮,输入6个数放人数组a中,单击“结果”则把数组a中的数值按照降序排列。

    注意:请在有“?”号的地方填正确内容,然后删除“?”及代码前的所有注释符(即“’”号)但不能修
改其他部分。存盘时不得改变文件名和文件夹。

选项

答案本题重点考查“冒泡法”数据排序方法。“冒泡法”是一种重要的数据排序算法,其思想是按顺序让一个数列中的每一个数都与其之后的所有的数逐一进行比较,如果该数小于其后面的数,则把这两个位置的数进行交换。依此类推,即可实现所有数的降序排列。 根据题意,将两个命令按钮添加到窗体中,名称分别为Commandl和Command2、Caption属性分别为“输入”和“结果”。双击Commandl进入代码窗口,编写如下代码: Dim a(6)As Integer Dim str As String Dim tmp As String Dim i As Integer Private Sub Commandl Click() str="排序前:" For i=1 To 6 a(i)=Val(InputBox("请输入:")) ’输入6个数到数组中 tmp=a(i) str=str+tInp+…"" ’将数组中的数放到字符串中 Next i Print str’在窗口中显示数组 End Sub Private Sub Command2 Click() str="排序后:" For i=1 To 6 ’降序排列 temp=a(i) For j=1 To i If a(j)<=temp Then’读取的数据比原位置的数据小则偏移 For k=i To j+1 Step-1 a(k)=a(k-1) ’数据向后偏移一个 Next k a(j)=temp Exit For End If Next j Next i For i=1 To 6 trap=a(i) ’将排序后的数组放入字符串中 str=str+tmp+"" Next i Print str’在窗口中显示排序后的结果 End Sub 单击[*]按钮运行程序,并按要求保存。

解析
转载请注明原文地址:https://jikaoti.com/ti/UJg0FFFM
0

最新回复(0)