小李基于选择排序思想编写了一个VB程序实现数据排序,排序后奇数在前、偶数在后,奇数和偶数都按升序排序。具体功能如下:产生10个随机整数存数组a,在列表框List中显示,单击“排序”按钮Command1,对数组a排序后在列表框List2中显示。程序运行界面如图所示,实现上述功能的ⅤB代码如下:

Constn=10
Dima(0Ton)AsInteger
PrivateSubForm_Load ( )
′程序功能:产生n个随机整数存数组a,在列表框Listl中显示,代码略。
Endsub
PrivateSubCommand1_Click ( )
DimiAsInteger,jAsInteger,kAsInteger,tAsInteger,flagAsBoolean
i=1:flag=True
DoWhileI<=n-1
IfflagThen
k=0:flag=False
Forj=iTon
Ifa(j)Mod2=1Then
If
Thenk=j:flag=True‘改正:a(j)<a(k)or flag=falsea(j)<a(k)or flag=false
EndIf
Nextj
IfflagThen
IfI<>kThent=a(i):a(i)=a(k):a(k)=t
Else
i=i-1i=i-1
EndIf
Else
K=i
Forj=i+1Ton
Ifa(j)<a(k)Thenk=j
Nextj
Ifi<>kThent=a(i):a(i)=a(k):a(k)=t
EndIf
i=i+1
Loop
Fori=1Ton
List2.AddItemStr(a(i))
Endsub
(1)代码“Privatesubcommand1_click ( )”中的Click是CC。(单选,填字母:A.对象名/B.属性名/C.事件名)
(2)将程序代码中横线处代码补充完整。
(3)程序代码中的加框处代码有误,请改正。
(4)程序代码中,flag值为truetrue表示该遍处理是挑选未排序奇数中的最小数据排到合适的位置。
【考点】冒泡排序算法及其实现.
【答案】a(j)<a(k)or flag=false;i=i-1;C;true
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/11/22 3:0:2组卷:16引用:2难度:0.3
相似题
-
1.有如下 Python 程序段:
运行后列表中的值可能是( )发布:2024/12/18 21:0:2组卷:5引用:3难度:0.3 -
2.用VB编写的函数bubble_sort是一个用冒泡方法实现排序的函数,其调用时需要三个参数:布尔类型参数sx来确定是升序还是降序,sx为True时为升序,否则为降序;整数型数组a
比如有一个整数型数组a(1 to 10)需要降序排序,可以直接这样调用:
a
该函数VB代码如下:
Function bubble_sort(sx As Boolean,a
Dim i,j,t As Integer
For i=1 To n-1
For j=
If
If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
Else
If a(j)>a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
bubble_sort=a
End Function
请将代码补充完整:
①
②发布:2024/12/20 20:30:1组卷:23引用:2难度:0.3 -
3.用选择排序法对一组数据进行升序排序,第一趟排序结束后的顺序为2、6、9、3、7,则原始数据顺序不可能的是( )
发布:2024/12/18 23:0:1组卷:10引用:1难度:0.5