Как найти наибольшее число среди 5 в Visual Basic? - PullRequest
0 голосов
/ 19 мая 2018

Я хочу найти его, используя операторы IF и NESTED IF.Я знаю, как найти наибольшее среди 3 чисел, но не могу сделать 5. Я хочу следовать той же концепции, что и код ниже:

Dim number1, number2, number3, largest as integer
number1= 2
number 2= 7
number3= 14
If number1>number2 then
 if number1>number 3 then
     largest= number1
     else
      largest= number3
      End If
 Else If number2> number3 then
  largest= number2
  else 
      largest number3
 End If
label1.text= largest

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Логика требует некоторого переосмысления.В данный момент вы используете метод грубой силы, который, как вы уже обнаружили, становится сложнее, чем больше исходный набор.И ваше решение на самом деле не подлежит ремонту - что если вы хотите 4 числа, 10 чисел и т. Д., Вам придется постоянно переписывать код.

Современные языки кодирования включают циклы и наборы, чтобы упростить нашу жизнь.

Function MyMax(Numbers() As Long) As String
    Dim largest As Long = Long.MinValue
    If Numbers.Count > 0 Then   ' it is ok to find the maximum from a single number!
        For iterator = 0 To Numbers.Count - 1
            If Numbers(iterator) > largest Then largest = Numbers(iterator)
            'largest = If(Numbers(iterator) > largest, Numbers(iterator), largest) ' another way of achieving the line above
        Next
        Return largest.ToString
    Else
        Return "Error - no numbers to check!"
    End If
End Function

Sub testMyMax()
    Debug.Print(MyMax({2, 7, 14}))
End Sub
0 голосов
/ 19 мая 2018

Сравнивая каждое число с наибольшим и назначая его только в том случае, если оно больше, вы получите наибольшее число, присвоенное наибольшему.

    Dim number1, number2, number3, largest As Integer
    number1 = 2
    number2 = 7
    number3 = 14

    ' if 2 > 0 then largest = 2
    If number1 > largest Then largest = number1
    ' if 7 > 2 then largest = 7
    If number2 > largest Then largest = number2
    ' if 14 > 7 then largest = 14
    If number3 > largest Then largest = number3

    label1.text = largest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...