How to find the smallest and largest digits in a number in VB.NET

1 Answer

0 votes
Imports System

Module Program

    ''' <summary>
    ''' Finds the smallest and largest digits in a number.
    ''' </summary>
    ''' <param name="number">Input number</param>
    ''' <param name="minDigit">Smallest digit found</param>
    ''' <param name="maxDigit">Largest digit found</param>
    Sub FindMinMaxDigits(ByVal number As Integer,
                         ByRef minDigit As Integer,
                         ByRef maxDigit As Integer)

        ' Handle negative numbers
        number = Math.Abs(number)

        ' Special case for 0
        If number = 0 Then
            minDigit = 0
            maxDigit = 0
            Exit Sub
        End If

        minDigit = 9
        maxDigit = 0

        While number > 0
            ' Extract the last digit
            Dim digit As Integer = number Mod 10

            ' Update smallest digit
            If digit < minDigit Then
                minDigit = digit
            End If

            ' Update largest digit
            If digit > maxDigit Then
                maxDigit = digit
            End If

            ' Remove the last digit
            number \= 10
        End While
    End Sub

    Sub Main()

        Dim number As Integer = 839516
        Dim minDigit As Integer
        Dim maxDigit As Integer

        FindMinMaxDigits(number, minDigit, maxDigit)

        Console.WriteLine("Number: " & number)
        Console.WriteLine("Smallest digit: " & minDigit)
        Console.WriteLine("Largest digit: " & maxDigit)

    End Sub

End Module
 
 
' run:
'
' Number: 839516
' Smallest digit: 1
' Largest digit: 9
'

 



answered 1 day ago by avibootz
...