题目

小周尝试一种新的数据排序方法,先将数据按照增量分成若干组,再分别对这几组数据进行排序并通过缩小增量直到增量为1的方法实现最终排序。如若要将数据“71,54,58,29,31,78,2”升序排序,增量的初值为3,则数据分为3组,为“71,29,2”“54,31”“58,78”,分别对各组数据排序后变为“2,31,58,29,54,78,71”,更新增量为1,最终通过后续处理实现排序。 待排序数据存储在数组a中(a(1)…a(n)),共有n个数据,要求升序排序 Dim a(0 To 100) As Integer Dim n As Integer Private Sub Command 1_Click()     Dim i As Integer,m As Integer     m=n\2     Do While  '改错        For i=1To m           Call jpsort(i,m)    '调用过程jpsort()        Next         m=m\2     Loop     '显示输出结果 End Sub Private Sub jpsort(start As Integer,w As Integer)          For i=start To n Step w          For j= ② To i+w Step-w    '填空              If a(j-w) >a(j) Then                 t=a(j-w): ③ :a(j)=t    '填空            End If        Next     Next End Sub 请回答以下问题: (1) 若要修改窗体上显示的内容为“跳跃排序”,应修改的属性名是(单选,填字母:A .Text/B .Caption/C .Load) 。 (2) 划线部分的代码应填①;②;③。 (3) 若将虚线框中的程序段删除并要求使排序的结果不变,则应将Do While语句加框处的代码修改为。 答案: 【1】B 【1】a(j+1)=a(j)【2】((n-start)\w)*w+start【3】a(j-w)=a(j) 【1】m>=1或m>0
信息技术 试题推荐
最近更新