题库 高中信息

题干

插入排序。小明用VB设计程序,主要功能如下:随机产生10个介于1到100之间的正整数数列,按升序排序后显示在List1列表框中,在文本框Text1中输入1个100以内的正整数,单击“插入”按钮Command1后将其插入到数列中,并保持数列仍然有序,显示在列表List2中,同时在标签Label4中显示插入的位置,程序界面如下图所示。

实现上述功能的VB程序代码如下,但是有两个地方有误,请改正。
Dim a(1 To 15) As Integer
Dim i, j As Integer
Const n=10
Private Sub Form_Load()

Randomize '随机生成n个1到100之间的正整数

For i = 1 To n

a(i) = Int(Rnd * 100) + 1

Next i

'将10个数从小到大排序

For i = 1 To n-1

k = i

For j = i + 1 To n

If  a(k) < a(j)  Then k = j ‘(1)

Next j

If i <> k Then

   t = a(i): a(i) = a(k): a(k) = t

End If

Next i

'将排好序的数输出在列表框Listl中

List1.Clear

For i = 1 To n

List1.AddItem Str(a(i))

Next i

End Sub
Private Sub Command1_Click()

Dim key As Integer

key = Val(Text1.Text)

i = 1

Do While key > a(i) And (i <= n)

i = i + 1

Loop

Label4.Caption = "该数插入的位置是:" + Str(i)

If i = 11 Then

  a(i) = key

Else

 For j = n+1 To i + 1 Step -1
a(j-1) = a(j+1) ‘(2)
Next j
a(i) = key

End If

List2.Clear

For i = 1 To 11

List2.AddItem a(i)

Next i

End Sub
上一题 下一题 0.99难度 填空题 更新时间:2019-04-16 09:09:37

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