学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
某数列由 10 个正整数组成,先对数列中的每个数按照从小到大的顺序进行编号,编号规则为:最小数编号为 1,次小数编号为 2,如此循环(若出现两个相同的数字,则编号相同,直到出现不同的数字再赋值新编号)。例如,数列 80,63,67,38,40,87,11,86,91,80 中每个数所对应的编号分别为:6,4,5,2,3,8,1,7,9,6。程序运行界面如下图所示。

(1)实现上述功能的程序代码如下,其中加框处代码有误,请改正。
(2)为完善程序,在划线处填入合适的代码。
Const n = 10
Dim a(1 To 11) As Integer 'a 数组存储原数列
Dim n1(0 To 11) As Integer 'n1 数组存储数据原始的位置
Dim n2(0 To 11) As Integer 'n2 数组存储编号
Dim i As Integer, j As Integer, k As Integer Private Sub Command1_Click()
For i = 1 To 10
 _______
Next i
For i = n To 2 Step -1
For j = _____
If a(j) > a(j + 1) Then
a(j) = a(j) + a(j + 1): a(j + 1) = a(j) - a(j + 1): a(j) = a(j) - a(j + 1)
n1(j) = n1(j) + n1(j + 1): n1(j + 1) = n1(j) - n1(j + 1): n1(j) = n1(j) - n1(j + 1) End If
Next j
Next i
k = 1
For i = 1 To n
_____
If a(i) <> a(i + 1) Then k = k + 1
Next i
For i = 2 To n
tmp1 = n1(i): tmp2 = n2(i): j = i - 1
Do While _____
n1(j + 1) = n1(j): n2(j + 1) = n2(j)
j = j - 1
Loop
n1(j + 1) = tmp1: n2(j + 1) = tmp2
Next i
For i = 1 To n
Text2.Text = Text2.Text + " " + Str(n2(i))
Next i
End Sub
Private Sub Form_Load()
For i = 1 To n
a(i) = Int(Rnd * 100 + 10)
Text1.Text = Text1.Text + Str(a(i))
Next i
End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交