该计划
程序将接受来自用户的三个整数值并按升序排序。该计划还将提供重复该计划的机会。
说明
我的代码:
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
感谢。
答案 0 :(得分:0)
就像Plutonix所说的那样,实际上没有任何排序。但最初,是的,你已经以递增的方式显示了这三个数字的正确顺序。
我试图修改你的sortnumber函数,以便对它们进行排序,但是我在这里使用了list。
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语句),那么我会说你所做的是正确的。
<强>更新强>
假设您将此作为练习,您可以尝试使用Bubble Sort。