当前位置:首页 > 教材习题及答案
Dim name As String Dim phone As String End Structure
Sub Main()
Dim Addr(20) As Address Const N As Integer = 7 Addr(0).name = \
Addr(0).phone = \ Addr(1).name = \
Addr(1).phone = \ Addr(2).name = \ Addr(2).phone = \ Addr(3).name = \
Addr(3).phone = \ Addr(4).name = \
Addr(4).phone = \ Addr(5).name = \
Addr(5).phone = \ Addr(6).name = \ Addr(6).phone = \ DisPlay(Addr, N)
For i As Integer = 1 To N - 1
For j As Integer = N - 1 To i + 1 Step -1
If Addr(j).name < Addr(j - 1).name Then Dim temp As Address = Addr(j) Addr(j) = Addr(j - 1) Addr(j - 1) = temp End If Next Next
DisPlay(Addr, N) End Sub
Sub DisPlay(ByVal Addr() As Address, ByVal N As Integer) For k As Integer = 0 To N - 1
Console.WriteLine(\ Next End Sub
End Module
‘—6—
Function FindName(ByVal Addr() As Address, ByVal N As Integer, ByVal name As String) As Integer
For i As Integer = 0 To N - 1
If Addr(i).name = name Then Return i End If Next Return -1
End Function
‘—7—
Function FindName2(ByVal Addr() As Address, ByVal N As Integer, ByVal name As String) As Integer
Dim low As Integer = 0 Dim high As Integer = N - 1 While low < high
Dim mid As Integer = (low + high) / 2 If Addr(mid).name = name Then Return mid Else
If Addr(mid).name > name Then high = mid - 1 Else
low = mid + 1 End If End If End While Return -1 End Function
‘—8—
Module Module1
Sub Main()
Dim a() As Integer = {-2, 11, -4, 13, -5, -2} Dim x As Integer Dim y As Integer
Dim max As Integer = a(1)
For i As Integer = 0 To a.Length - 1 For j As Integer = i To a.Length - 1 Dim sum As Integer = 0 For k As Integer = i To j sum += a(k)
If sum > max Then max = sum x = i y = j End If Next Next Next
Console.WriteLine(\最大和为{0}\ Console.Write(\
For k As Integer = x To y Console.Write(a(k)) Console.Write(\ Next
Console.WriteLine(\ End Sub
End Module ‘—9—
Module Module1
Sub Main()
Dim n As Integer = Console.ReadLine() Console.Write(n) While (n > 1)
If n Mod 2 = 0 Then n = n \\ 2 Else
n = n * 3 + 1 End If
Console.Write(\ End While
Console.WriteLine() End Sub
End Module ‘—10—
Module Module1
Sub Main()
Dim a(6000) As Integer
Dim n As Integer = Console.ReadLine() For i As Integer = 0 To n - 1 a(i) = i + 1
Next
Dim twoOrThree As Boolean = False For i As Integer = 0 To n - 1 If (i + 1) Mod 2 = 0 Then a(i) = 0 End If Next
twoOrThree = True n = Compress(a, n) While (n > 3)
If twoOrThree Then
For i As Integer = 0 To n - 1 If (i + 1) Mod 3 = 0 Then a(i) = 0 End If Next
twoOrThree = False Else
For i As Integer = 0 To n - 1 If (i + 1) Mod 2 = 0 Then a(i) = 0 End If Next
twoOrThree = True End If
n = Compress(a, n) End While
For i As Integer = 0 To n - 1 Console.Write(\ Next
Console.WriteLine() End Sub
Function Compress(ByVal a() As Integer, ByVal n As Integer) As Integer Dim i As Integer = 0 While (i < n)
If a(i) = 0 Then
For k As Integer = i To n - 1 a(k) = a(k + 1) Next n = n - 1 End If i = i + 1 End While
共分享92篇相关文档