Dim i, j, intmin As Integer, n As Integer
Dim sngsq(), sngt As Single '输入原始数据
n = Val(InputBox("请输入排序的个数N的值"))
ReDim sngsq(n) '重新定义数组
Print "排序前"
For i = 1 To n
MsgBox "请输入第" & Str(i) & "个数:"
sngsq(i) = Val(InputBox("请输入")) '将输入的数据转换为数值型
Print sngsq(i);
Next
Print
Print "排序后"
'排序
For i = 1 To n - 1
intmin = i '对第i遍排序,初始假定第i个元素最小
For j = i + 1 To n '找出最小的元素序号
If sngsq(j) < sngsq(intmin) Then intmin = j
Next j
'将找出的最小元素与第i个元素交换
sngt = sngsq(i)
sngsq(i) = sngsq(intmin)
sngsq(intmin) = sngt
Next i
'打印输出
For i = 1 To n
Print sngsq(i); '不换行输出
Next i
随即产生10个0~100的数,并按从小到大排序,已经验证OK!!!
Private Sub Command1_Click()
Dim num(1 To 10) As Integer
Dim i, j, t As Integer
For i = 1 To 10
num(i) = Int((100 - 0 + 1) * Rnd + 0)
Next
For i = 1 To 10
For j = i + 1 To 10
If num(i) > num(j) Then
t = num(i)
num(i) = num(j)
num(j) = t
End If
Next j
Next i
For i = 1 To 10
Print num(i)
Next
End Sub
我也是VB爱好者,以后互相学习,互相努力哦!!!^_^