2008年11月28日 星期五

技藝競竇97年模擬試題參考答案 Q3


' Problem3:基礎排序(13%)
' 給一堆數字, 把他們從小到大排序好。
' 輸入說明:
' 每組測試資料共有兩行,第一行的數字n 為有幾個數字要排序,第二行則有n 個整數(n ≤1000),其餘整數皆於-10000
' 到10000 之間,測試資料中包含多組測試,當排序個數為0 時結束。
' 輸出說明:
' 輸出已排序好的數列,每個數字之間請用一個空白隔開。
' 輸入範例:
' 5
' 5 4 3 2 1
' 5
' -1 -2 -3 -4 -5
' 0
' 輸出範例:
' 1 2 3 4 5
' -5 -4 -3 -2 -1

Public Class Form1
Dim resultStr = ""
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Hide()
Dim fileContents As String
fileContents = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\Test3.txt")
Dim recArray() = Split(fileContents, vbNewLine)

Dim recIndex = 0
While recArray(recIndex) <> "0"
Dim N = Val(recArray(recIndex))
Dim dataArray() = Split(recArray(recIndex + 1))
For i = 0 To N - 1 - 1
For j = i + 1 To N - 1
If Val(dataArray(i)) > Val(dataArray(j)) Then
Dim tem = dataArray(i)
dataArray(i) = dataArray(j)
dataArray(j) = tem
End If
Next
Next
For i = 0 To N - 1
resultStr = resultStr & dataArray(i) & " "
Next
resultStr = resultStr & vbNewLine
recIndex = recIndex + 2
End While

MsgBox(resultStr)
'My.Computer.FileSystem.WriteAllText(Application.StartupPath & "\result3.txt", resultStr, False)
End
End Sub
End Class

沒有留言: