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

1 Answer

0 votes
#include <stdio.h>
  
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(void) {
    int n = 213;
    printf("%d\n", getTheSecondLowestDigit(n));
      
    n = 76594;
    printf("%d\n", getTheSecondLowestDigit(n));
      
    n = 76429;
    printf("%d\n", getTheSecondLowestDigit(n));
    
	n = 76300;
    printf("%d\n", getTheSecondLowestDigit(n));
	
	n = 111;
	if (getTheSecondLowestDigit(n) == 9)
		printf("There is no second lowest number\n");
      
    return 0;
}
   
   
   
/*
run:
   
2
5
4
3
There is no second lowest number
   
*/

 



answered May 30, 2020 by avibootz
edited May 30, 2020 by avibootz

Related questions

1 answer 149 views
1 answer 227 views
2 answers 207 views
1 answer 171 views
1 answer 153 views
1 answer 176 views
...