How to find the second lowest digit in integer without using array in C#

1 Answer

0 votes
using System;

class Program
{
    static int getTheSecondLowestDigit(int n) {
        int min = int.MaxValue, befor_min = int.MaxValue;
        
        while(n != 0) {
            int x = n % 10;
            if (x < min) {
                befor_min = min;
                min = x;
            } else if (x < befor_min && x != min) {
                befor_min = x;  
            } 
            n /= 10;
        }
        return befor_min;
    }
    static void Main() {
        int n = 8647293;
        
        Console.WriteLine(getTheSecondLowestDigit(n)); 
       
        n = 213;
        Console.WriteLine(getTheSecondLowestDigit(n));

        n = 76400;
        Console.WriteLine(getTheSecondLowestDigit(n));
     
        n = 111;
        if (getTheSecondLowestDigit(n) == int.MaxValue)
            Console.WriteLine("There is no second lowest number");
    }
}


/*
run:

3
2
4
There is no second lowest number

*/

 



answered May 30, 2020 by avibootz

Related questions

1 answer 90 views
1 answer 86 views
1 answer 149 views
2 answers 161 views
1 answer 129 views
...