题目

小吴为了研究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框List1中显示排序前的数据(存储在数组a中),在文本框Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。 实现上述功能的VB程序如下。 Dim a(1 To 8)As Integer Dim n As Integer Private Sub Form_Load( )   a(1)=30:a(2)=47:a(3)=30:a(4)=72   a(5)=70:a(6)=23:a(7)=99:a(8)=24   n=8   For i=1 To 8       List1.AddItem a(i)   Next i End Sub Private Sub Command1_Click( )   Dim i,j,k,pos As Integer   Dims As String   s=Text1.Text   pos=Val(Text1.Text)   For i=1 To n-1       For j=n           If a(j)<a(j-1)Then           k=a(j-1):a(j-1)=a(j):a(j)=k           ‘如果pos位置的数据参与交换,则更新pos值,记录pos变化位置             If pos=j Then                 pos=j-1                 s=s+"→"+Str(pos)                              pos=j                 s=s+"→"+Str(pos)             End If           End If       Next j   Next i   Label1.Caption=“位置变化情况:"+s   For i=1 To n       List2.AddItem Str(a(i))   Next i End Sub (1) 程序中语句“List2.AddItem Str(a(i))”用于将数组元素在List2中显示出来。类似的,可以使用“List2.Removeltem2”删除List2中的第2项(项号从0开始),则Removeltem是(单选,填字母:A .事件名/B .属性名/C .方法名/D .对象名)。 (2) 请将程序代码中的画线处语句补充完整。 (3) 程序代码中加框处有误,请改正。 (4) 程序代码“pos=j-1”表明该元素是和它的一项发生了位置交换(单选,填字母:A .前/B .后/C .没有)。 答案: 【1】C To n-i Step-1 Elself pos = j-1 Then 【1】A
信息技术 试题推荐
最近更新