题型:单选题 题类:常考题 难易度:普通
【bj】高中信息技术综合库——排序算法及程序实现1
n=8: flag=True: k=0
First=1: Last =n
Do While flag
p= False: flag= False
For j=Last To First +1 Step-1
k=k+1
If a(j)< a(j-1) 1) Then
t=a(j): a(j)=a(j-1): a(j-1)=t
First=j: flag =True
If p= False Then Last=j: p=True
End If
Next j
If Last <> n Then Last =Last +1
Loop
数组元素a(1)到a(8)值依次为“2,8,12,17,13,14,18,19”,程序运行后,变量k的值为( )
科目 |
政治 |
历史 |
地理 |
物理 |
化学 |
生物 |
技术 |
人数 |
193 |
151 |
112 |
186 |
167 |
103 |
179 |
设计VB程序,实现功能:将每个科目的选课人数按照选考人数降序排序后输出。其中,科目名称存放在数组a(i)中,人数存放在数组b(i)中。
程序运行界面设计如图所示,左边列表框List1是显示科目名称和选课人数,单击“排序”按钮Command1后,在右边的列表框List2中显示排序后的科目名称和选课人数。
Command1的处理事件过程如下,但加框处代码有错,请改正。
Private Sub command1_click()
Dim a(1 To 7) As String
Dim b(1 To 7) As Integer
Dim i As Integer, j As Integer, p As String, q As Integer
For i = 1 To 7
List1.AddItem a(i) + " " + Str(b(i))
Next i
For i = 1 To 6
k = i
For j = i + 1 To 7
Next j
If i <> k Then
p = a(i): a(i) = a(k): a(k) = p
End If
Next i
For i = 1 To 7
List2.AddItem a(i) + " " + Str(b(i))
Next i
End Sub
①{#blank#}1{#/blank#} ②{#blank#}2{#/blank#}
原始数据 | 24 | 27 | 16 | 15 | 24 | 18 |
第一遍 | 27 | 24 | 16 | 15 | 24 | 18 |
第二遍 | ||||||
第三遍 | 27 | 24 | 24 | 15 | 16 | 18 |
第四遍 | 27 | 24 | 24 | 18 | 16 | 15 |
第五遍 | 27 | 24 | 24 | 18 | 16 | 15 |
试题篮