由於連小弟都覺得好亂=___='(因為係我做ge)
全部都運行到ge,不過2,3,4,5題..我都整到開頭係自己打再運行,如有錯誤/問題/有d步驟多左ge請留言或者add我啦..做完睇過眼都唔想認真睇多眼,頭都暈..
題目係e-class mark哥有比...
'輸入輸出
Dim i As Short
Dim k As String = "陣列數值:"
Dim a(4) As Short
For i = 0 To 4
a(i) = InputBox(i + 1)
k &= a(i) & Space(2)
Next
TextBox1.Text = k
'氣泡
Dim a() As Short = New Short() {80, 1, 5, 77, 91}
Dim i, j, tmp As Short
Dim k, p As String
k = "後:" : p = "前:"
For j = 0 To 4
p &= a(j) & Space(2)
Next
For i = 1 To 4
For j = 0 To 3
If a(j) > a(j + 1) Then
tmp = a(j)
a(j) = a(j + 1)
a(j + 1) = tmp
End If
Next
Next
For j = 0 To 4
k &= a(j) & Space(2)
Next
TextBox1.Text = ""
TextBox1.Text = p & vbCrLf & k
'選擇
Dim a() As Short = New Short() {80, 1, 5, 77, 91}
Dim i, j, tmp, n As Short
Dim k, p As String
k = "後:" : p = "前:"
For j = 0 To 4
p &= a(j) & Space(2)
Next
For i = 0 To 3
n = i
For j = (i + 1) To 4
If a(n) > a(j) Then
n = j
End If
Next
If n <> i Then
tmp = a(n)
a(n) = a(i)
a(i) = tmp
End If
Next
For j = 0 To 4
k &= a(j) & Space(2)
Next
TextBox1.Text = ""
TextBox1.Text = p & vbCrLf & k
'循序
Dim a() As Short = New Short() {80, 1, 5, 77, 91}
Dim target As Short = 91
Dim i As Short
Dim k As String = ""
Do
If a(i) = target Then
k &= "找到數值" & target
Exit Do
End If
If i = 4 Then
k &= "找不到數值" & target
Exit Do
End If
i += 1
Loop Until i > 4
TextBox1.Text = ""
TextBox1.Text = k
'二元
Dim a() As Short = New Short() {80, 1, 5, 77, 91}
Dim target As Short = 80
Dim i, j, tmp, m, l, r As Short
Dim k As String = "找不到數值" & target
For i = 1 To 4
For j = 0 To 3
If a(j) > a(j + 1) Then
tmp = a(j)
a(j) = a(j + 1)
a(j + 1) = tmp
End If
Next
Next
l = 0 : r = UBound(a)
Do
m = (l + r) \ 2
If a(m) = target Then
k = "找到數值" & target
Exit Do
Else
If a(m) > target Then
r = m - 1
Else
l = m + 1
End If
End If
Loop Until l > r
TextBox1.Text = ""
TextBox1.Text = k
'比較大小
Dim a(4), i, j, m, n As Short
Dim p, k, pk As String
p = "最小值為"
k = "最大值為"
pk = ""
m = 0 : n = 0
For i = 0 To 2
a(i) = InputBox("...")
pk &= a(i) & " "
Next
i = 0 : m = i : n = i
For j = i + 1 To 2
If a(m) < a(j) Then
m = j
Else
If a(n) > a(j) Then
n = j
End If
End If
Next
TextBox1.Text = ""
TextBox1.Text = k & a(m) & vbCrLf & m & vbCrLf & p & a(n) & vbCrLf & n & vbCrLf & pk