题库 高中信息

题干

丢失的成绩。某校运动会上,高一男子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)①处代码应为:__________________________________________。
②处代码应为:____________________________________________。
上一题 下一题 0.99难度 填空题 更新时间:2017-03-02 11:21:40

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

同类题2

某学校高一年级共有500名学生,10个班,现需要根据某次考试的技术成绩从高到低进行考试号编排,考试号从100开始,如出现成绩一样的情况,则考试号按学生学号从大到小编排,如图所示。为此,小王编写了一个VB程序,程序功能如下:单击“读取数据”按钮 Command1,程序从数据库中读取学生的学号、成绩分别存储在数组xh、cj中,并在列表框List1输出;单击“编排”按钮Command2,程序进行处理,输出结果在列表框List2中。程序运行界面如图所示。
实现以上功能的VB程序如下,请回答下列问题:
(1)如原始数据里漏输了一个学生,已知该学生的学号为“20170240”,成绩为“99”,则增加该学生数据后,运行程序时,该学生的考试号为________。
(2)请在画线处填入合适的代码。
Const n=500
Dim xh(1 To n) As Integer    '存放学生学号
Dim cj(1 To n) As Integer    '存放学生成绩
Dim I,d,k,t,y As Integer
Private Sub Command1 Click()
'本过程从数据库中读取学生数据,存储在相应的变量中,并在List1中显示
'代码略
End Sub
Private Sub Command2_Click()
For i=1 To n-1

For j=n To i+1 Step-1

If c(j)>cj(j-1) Then
t=ci(j):cj(j)=cj(j-1):cj(j-1)=t
t=xh(j):xh(j)=xh(j-1):xh(j-1)=t
End If

 

Next j

Next i
k=1
For i=2 To n

If______Then

k=k+1
y=0

Else

y=1

End If

If (y=l And k> 1) Or (i=n And k> 1) Then

For d=i-k To i-2
For______To(i-k+1) Step-1
If xh(j)>xh(j-1) Then
t=xh(j):xh(i)=xh(j-1):xh(j-1)=t
End If
Next j
Next d
k=1

End If

Next i
List2.Clear
List2.AddItem " "+"学号"+"  "+"技术成绩"+"  "+"考试号"
For i=1 To n
List2.AddItem Str(xh(i))+"  "+Str(cj(i))+"  "+_____
Next i
End Sub