题型:综合题 题类:常考题 难易度:困难
浙江省绍兴市2017-2018学年高二下学期选考信息技术适应性考试试卷
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Const maxn=100
Dim id(1 To maxn)As Integer ‘存储每个学生的学号
Dim tall(1 To maxn)As Single ‘存储每个学生的身高
Dim n As Integer ‘存储学生的个数
Private Sub Form_Load()
‘从数据库得到学生的总人数n
‘从数据库读取学号信息,并存入id数组中
‘从数据库读取身高信息,并存入tall数组中
‘在列表框List1中显示学号与身高
End Sub
Private Sub Command1_Click()
Dim a(1 To maxn)As Integer ‘存储排好队形的学号
Dim b(1 To maxn)As Single ‘存储排好队形的身高
Dim i As Integer,j As Integer
Dim t1 As Integer,tr As Integer,mid As Integer
Dim tmp1 As Single,tmp2 As Integer
For i=1 To n-1
For j=n To i+1 Step-1
If Then ‘(1)
tmp1=tall(j):tall(j)=tall(j-1):tall(j-1)=tmp1
tmp2=id(j):id(j)=id(j-1):id(j-1)=tmp2
End If
Next j
Next i
If n Mod 2=0 Then ‘根据总人数的奇偶性,确定队形的中间位置
mid=n\2+1
Else
mid=(n+1)\2
End If
‘身高第一位的同学,安排在队形的中间位置
a(mid)=id(1)
b(mid)=tall(1)
t1=mid-1
tr=mid+1
For i=2 To n
If Then ‘(2)
a(tr)=id(i)
b(tr)=tall(i)
tr=tr+1
Else
a(t1)=id(i)
b(t1)=tall(i)
t1=t1-1
End If
Next i
List2.AddItem“位置”+“学号 ”+“身高”
For i=1 To n
List2.Addltem Str(i)+” ”+Str(a(i))+” ”+Str(b(i))
Next i
End Sub
例如,有如下年龄存在数组a中:
a(1) | a(2) | a(3) | a(4) | a(5) | a(6) | a(7) | a(8) | a(9) | a(10) |
20 | 19 | 18 | 19 | 15 | 12 | 15 | 20 | 17 | 19 |
利用一个数组b(b(10 To 20))记录每个数出现的次数:
b(10) | b(11) | b(12) | b(13) | b(14) | b(15) | b(16) | b(17) | b(18) | b(19) | b(20) |
0 | 0 | 1 | 0 | 0 | 2 | 0 | 1 | 1 | 3 | 2 |
根据数组b对数组a进行排序:
a(1) | a(2) | a(3) | a(4) | a(5) | a(6) | a(7) | a(8) | a(9) | a(10) |
12 | 15 | 15 | 17 | 18 | 19 | 19 | 19 | 20 | 20 |
Dim a(10000) As Integer ‘存放读入的年龄数据
Dim b(100) As Integer ‘存放各个年龄出现的个数
Private Sub Command1_Click()
‘从数据库读入年龄数据放入数组a中
End Sub
Private Sub Command2_Click()
For i = 1 To 100
b(i) = 0
Next i
For i = 1 To 10000 ‘统计每个年龄数据的个数
①
Next i
End Sub
Private Sub Command3_Click()
j = 0
For i = 1 To 100
If b(i) <> 0 Then
Do While b(i) <> 0
②
a(j) = i
‘③
Loop
End If
Next i
For i = 1 To 10000
List2.AddItem Str(a(i))
Next i
End Sub
试题篮