全国高等学校计算机等级考试(江西考区)
二级QBASIC上机测试模拟试卷五
一、二、三题同一级的一、二、三题
四、程序填空题
以下程序是产生n个[50,150]区间随机整数,逐个插入到数组中(即数组中数据个数最初为0),
当n个数插入完成后,数组中的数已按序排好。
Dim m As Integer, i As Integer, j As Integer, p As Integer
INPUT m
Dim a(m) As Integer
For i = 1 To m
x = [1]
a(i) = x
For j = 1 To i - 1
If x <= a(j) Then
Exit For
End If
Next j
For p = i To j + 1 Step -1
a(p) = [2]
Next p
a(j) = x
Next i
For i = 1 To m
Print a(i);
Next i
End
请去掉[ ]并填上正确答案。
五、程序改错题
以下程序是用选择交换法将10个数排成升序,在两注释行之间有两处错误,请找出并改正,不得增行或删行。
程序如下:
Option Base 1
n = 10
DIM array(n)
Print "data before sorting:"
For i = 1 To 10
READ Array(i): Print Array(i);
Next i
Data 123, 96, 42, 39, 22, 14, 7, 4, 0, -7
Rem ***************************************
For i = 1 To 9
k = i
For j = 2 To 10
If Array(k) > Array(j) Then i = k
Next j
If k <> i Then SWAP Array(k), Array(i)
Next i
Rem ***************************************
Print "data after sorting:"
For i = 1 To 10
Print Array(i);
Next i
End