我是否正确完成了此子过程任务



节目

该程序将接受来自用户的三个整数值,并按升序对它们进行排序。该计划还将提供重复该计划的机会。

指示

  • 创建一个名为 sortnumber() 的子过程,它接受 3 个整数参数。
  • 在 main 中创建输入/输出代码以读取 3 个整数值,作为参数传递给 sortnumber()
  • 在 sortnumber() 中创建代码以按升序对 3 个整数值进行排序并将结果打印到控制台
  • 创建允许用户重复程序
  • 的代码

我的代码:

Module Module1
Sub Main()
    Dim num1, num2, num3 As Integer
    Console.WriteLine("This programme sorts any 3 numbers into ascending order")
    Console.WriteLine("Press enter to continue")
    Do Until Console.ReadLine = "e"
        Console.WriteLine("Enter your first number:")
        num1 = Console.ReadLine
        Console.WriteLine("Enter your second number:")
        num2 = Console.ReadLine
        Console.WriteLine("Enter your third number:")
        num3 = Console.ReadLine
        Console.WriteLine("Sorting into ascending order...")
        sortnumber(num1, num2, num3)
        Console.WriteLine("Press enter to repeat the programme or enter 'e' to exit")
    Loop
End Sub
Sub sortnumber(ByVal n1 As Integer, ByVal n2 As Integer, ByVal n3 As Integer)
    If n1 >= n2 And n2 >= n3 Then
        Console.WriteLine(n3)
        Console.WriteLine(n2)
        Console.WriteLine(n1)
    ElseIf n3 >= n2 And n2 >= n1 Then
        Console.WriteLine(n1)
        Console.WriteLine(n2)
        Console.WriteLine(n3)
    ElseIf n1 >= n3 And n3 >= n2 Then
        Console.WriteLine(n2)
        Console.WriteLine(n3)
        Console.WriteLine(n1)
    ElseIf n3 >= n1 And n1 >= n2 Then
        Console.WriteLine(n2)
        Console.WriteLine(n1)
        Console.WriteLine(n3)
    ElseIf n2 >= n3 And n3 >= n1 Then
        Console.WriteLine(n1)
        Console.WriteLine(n3)
        Console.WriteLine(n2)
    ElseIf n2 >= n1 And n1 >= n3 Then
        Console.WriteLine(n3)
        Console.WriteLine(n1)
        Console.WriteLine(n2) 
    End If
End Sub
End Module

谢谢。

就像冥王星所说的那样,真的没有排序发生。但最初,是的,您以升序显示了这三个数字的正确顺序。

试图修改您的sortnumber函数,以便对它们进行排序,但是我在这里使用了列表a。

Sub sortnumber(ByVal n1 As Integer, ByVal n2 As Integer, ByVal n3 As Integer)
    Dim numbers As List(Of Integer) = New List(Of Integer)
    numbers.Add(n1)
    numbers.Add(n2)
    numbers.Add(n3)
    numbers.Sort()
    For Each num In numbers
        Console.WriteLine(num.ToString)
    Next
End Sub

通过使用内置的sort函数,代码的读取可以更加清晰。

但是,如果它要求你使用条件(即if-else-if语句),那么我会说你所做的是正确的。

更新:

假设您这样做是作为练习,您可以尝试使用冒泡排序。

最新更新