How to find the second lowest digit in int number with C++

1 Answer

0 votes
#include <iostream>

  
int getTheSecondLowestDigit(int n) {
    int min = 9, befor_min = min;
    while (n) {
        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;
}

int main() {
    int n = 213;
    std::cout << getTheSecondLowestDigit(n) << "\n";
       
    n = 76594;
    std::cout << getTheSecondLowestDigit(n) << "\n";
       
    n = 76429;
    std::cout << getTheSecondLowestDigit(n) << "\n";
     
    n = 76300;
    std::cout << getTheSecondLowestDigit(n) << "\n";
     
    n = 111;
    if (getTheSecondLowestDigit(n) == 9)
        std::cout << "There is no second lowest number";
}



/*
run:

2
5
4
3
There is no second lowest number

*/

 



answered Jun 9, 2020 by avibootz

Related questions

1 answer 159 views
1 answer 215 views
2 answers 200 views
1 answer 163 views
1 answer 118 views
1 answer 168 views
...