用VB语言:给数组输入N个数,按从大到小排序输出各数,并求出最大和最小值。

请用VB语言给出代码。谢谢。

第1个回答  2008-10-09
Option Explicit

Private Sub Command1_Click()
Dim i As Integer, j As Integer, n, temp, item
Dim arr1() As Single
Dim max As Single, min As Single
Do
n = InputBox("请输入第" & i + 1 & "个数值(输入空值则表示结束):")
If n = "" Then Exit Do
ReDim Preserve arr1(i)
arr1(i) = n
Print arr1(i);
i = i + 1
Loop
Print
If i = 0 Then Exit Sub
max = arr1(0): min = arr1(0)
For i = LBound(arr1) To UBound(arr1)
For j = i To UBound(arr1)
If arr1(i) <= arr1(j) Then
temp = arr1(i): arr1(i) = arr1(j): arr1(j) = temp
End If
Next
Next
For Each item In arr1
If max < item Then max = item
If min > item Then min = item
Print item;
Next
Print "最大值"; max, "最小值"; min
End Sub本回答被提问者采纳
第2个回答  2008-10-09
Private Sub Command5_Click()
Dim n As Integer
Dim MyData(), MyTemp
n = 1
Do
n = n + 1
MyTemp = InputBox("请输入第" & n & "个数据")
If MyTemp = "" Then Exit Do
ReDim Preserve MyData(n)
MyData(n) = MyTemp
Loop

Dim K As Long, j As Long, X As Long
For K = 1 To n - 1
For j = K To n - 1
If Val(MyData(j)) < Val(MyData(K)) Then
X = MyData(j): MyData(j) = MyData(K): MyData(K) = X
End If
Next j
Next K

For I = 2 To n - 1
Text1.Text = Text1.Text & "第" & CStr(I - 1) & "数:" & CStr(MyData(I)) & "" & Chr(13) & Chr(10) & ""
Next
Text1.Text = Text1.Text & "最小值:" & CStr(MyData(2)) & "" & Chr(13) & Chr(10) & ""
Text1.Text = Text1.Text & "最大值:" & CStr(MyData(n - 1)) & ""
End Sub
第3个回答  2008-10-09
你百度查下冒泡法吧,那个比较好用·
第4个回答  2008-10-09
别啊,怎么全是冒泡排序,用快速排序法啊,这个最快