教材习题及答案 联系客服

发布时间 : 星期四 文章教材习题及答案更新完毕开始阅读f3615d5e76c66137ee0619e6

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