题库 高中信息

题干

(加试题)以下 VB 程序段用插入排序的方法实现 10 个数据升序排序。
Dim tmp As Integer
Dim a(1 To 10) As Integer
Private Sub Form_Load
'随机生成 10 个不重复的数存入数组 a,代码略
End Sub
Private Sub Command1_Click
For i = 2 To 10
If a(i) < a(i- 1) Then tmp = a(i)
For j = ①     To 1 Step -1   '依次后移
If tmp > a(j) Then Exit For

Next j
'插入数据
End If
Next i End Sub 要实现上述功能,方框①②③中的语句分别是(   )
A.i-1a(j+1)=a(j)a(j+1)=tmp
B.i-1a(j+1)=a(j)a(j)=tmp
C.10a(j)=a(j+1)a(j)=tmp
D.10a(j)=a(j+1)a(j+1)=tmp
上一题 下一题 0.99难度 选择题 更新时间:2019-03-30 05:21:28

答案(点此获取答案解析)

同类题1

   小杰为学校教务处编写了一个排考场座位的VB程序,考场采用“6排5列”共30人的模式,程序执行后,考生的考号与姓名显示在列表框List1中,单击“考场座位”按钮,考场号与座位显示在Text1中,程序运行界面如图所示,数据表如图

 
实现上述功能的VB程序如下,请回答下列问题:
(1)程序中读取的数据库文件是____________
(2)当“Form_load() 事件处理过程运行结束后,变量x的值为___________
(3)请在划线处填入合适的代码
Dim sName(100) As String
Dim kh(100) as string
Private Sub Command1_Click()
Dim y As Integer
Dim start As Integer    '考场第1位数据元素的下标
Dim pa As Integer '数据库导入VB时学生数据下标
Dim pb As Integer '考场座位数据下标
Dim i As Integer,j As Integer,k As Integer,m As Integer
Dim kcsName(100) As String
start = 1
pa = start
recCount = x-1
If recCount Mod 30 <> 0 Then
_______________
For i = 1 To y    '将当前考生人数添加到30的整数倍    
recCount = recCount +1
sName(recCount) = " "
Next i
End If
For j = 1 To recCount / 30   
pa = start   
pb = start   
For i = 1 To 30
kcsName(pb) = sName(pa)
pb = pb +1
If  i Mod 5 = 0 Then
pa = start +i \5
Else  
________________
End If   
Next i   
start = start +30
Next j
Text1.Text = " "
start = 1
For k = 1 To recCount /30   
m = start   
Text1.Text = Text1.Text + "第" + Str(k) + "考场" + vbCrLf   
'vbCrLf为换行标志符,实现Text1中内容换行显示  
For i = 1 To 6
For j = 1 To 5
Text1.Text = Text1.Text +"  " +kcsName(m)
m = m +1
Next j
Text1.Text = Text1.Text +vbCrLf   
Next i   
Text1.Text = Text1.Text +vbCrLf +vbCrLf
______________________
Next k
End Sub
Private Sub form_load()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
conn.ConnectionString = "provider=microsoft.ace.oledb.12.0;data source=" & App.Path & "/kaochang.accdb"
conn.Open
Set rs.ActiveConnection = conn
rs.Open "select * from banji"
x = 1
List1.AddItem " 考号  姓名"
Do While Not rs.EOF    '
kh(x) = rs.fields("kh")
sName(x) = rs.fields("xm")
List1.AddItem kh(x) + "  " + sName(x)
x = x + 1
rs.MoveNext
Loop
rs.Close
End Sub

同类题3

丢失的成绩。某校运动会上,高一男子100米决赛的成绩已出,前8名的成绩记录单由于不小心丢失一张,只剩下7个成绩,分别是(单位:秒)11.5,11.8,12.1,12.5,13.1,13.5,13.9。后来找到了,需将找到的成绩插入相应的位置,使数据序列仍保持有序,并求出该成绩的名次。
为实现这一目标,设计如下VB程序,界面如图所示:先输入7位选手成绩,自动将成绩从小到大排序后输出到列表框List1中。输入丢失成绩后,点击“插入”按钮将该成绩添加到适当位置并输出选手成绩到List2中,并在Label4中显示该成绩的名次。

实现上述功能的VB程序如下,请完成以下问题:
Dim a(1 To 8) As Single
Dim n As Integer,i As Integer,x As Single
Private Sub Form_Load()
Dim j As Integer,temp As Single
’输入7位选手100米成绩,代码略
’将7位选手成绩从小到大排序
For i=1 To 6
For j=7 To i+1 Step-1
If a(j)<a(j-1) Then
temp=a(j)
a(j)=a(j-1)
a(j-1)=temp
End If
Next j
Next i
’将排序好的选手成绩输出到列表框List1
List1.Clear
For i=1 To 7
List1.AddItem Str(a(i))
Next i
End Sub
Private Sub Command1_Click() ’确定该遗漏选手的成绩排名第几位?
x=Val(Text1.Text)
i=1
Do While x>a(i)
__   __
Loop
Label4.Caption=“该选手位列第”+Str(i)+“名!”
’ 将该遗漏选手成绩添加到适当位置,使数组仍保持有序并输出到列表框List2
For j=8 To i+1 Step-1
a(j)=a(j-1)
Next j
__   __
For i=1 To 8
List2.AddItem a(i)
Next i
End Sub
(1)Form Load事件处理过程中代码采用的算法是________(选择排序/插入排序/冒泡排序)
(2)①处代码应为:__________________________________________。
②处代码应为:____________________________________________。