vb 数组插入数据的问题

我是想让随机产生一个数组,然后按从小到大排列后,输入一个数据插入到数组中,下面是我写的代码,老是运行不正确,请高手修改,谢谢了
Option Explicit

Private Sub Form_Click()
Dim a() As Integer
Dim n As Integer
Dim i As Integer
Dim j As Integer
Dim t As Integer
Dim v As Integer

n = Val(InputBox("请输入n"))
ReDim a(1 To n) As Integer
Randomize
For i = 1 To n
a(i) = Int(Rnd * 90) + 10
Next i
For i = 1 To n
Print a(i);
Next i
Print

For i = 1 To n - 1
For j = i + 1 To n
If a(i) > a(j) Then
t = a(i): a(i) = a(j): a(j) = t
End If
Next j
Next i

For i = 1 To n
Print a(i);
Next i
Print

v = Val(InputBox("请输入一个两位数"))
For i = 1 To n
If v < a(i) Then
Exit For
End If
Next i

ReDim Preserve a(1 To n + 1) As Integer
For i = i To n + 1
a(i + 1) = a(i)
Next i
a(i) = v

For i = 1 To n + 1
Print a(i);
Next i

End Sub

Dim a() As Integer
dim i as integer
dim j as integer
dim k as integer
dim m as integer
dim ss as integer
dim var1 as integer

k=5 '要插入5个数字
ss=10'素组原始大小

ReDim a(ss) '重新定义数组大小不保留数据
For i = 0 To ss-1 '模拟一组数 0-9的
a(i) = i
Print a(i) & ",";
Next i

ReDim Preserve a(ss+k) '重新定义数组大小保留原有数据
for k1=0 to k-1 '重复插入数据
m = CInt(InputBox("输入要插入的数:"))
a(ss+k1)=m ‘重复插入数据
next k1

'调整循序
for i=0 to ss+k-1
for j=i to ss+k-1
if a(i)>=a(j) then
var1=a(i)
a(i)=a(j)
a(j)=var1
end if
next j
next i

For i = 0 To ss+k-1
Print a(i) & ",";
Next i
温馨提示:答案为网友推荐,仅供参考
相似回答