Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,907 questions

51,839 answers

573 users

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

1 Answer

0 votes
#include <stdio.h>
   
int getTheSecondHighesDigit(int n) {
    int max = 1, befor_max = max;
    while(n) {
        int x = n % 10;
        if (x > max) {
            befor_max = max;
            max = x;
        } else if (x > befor_max && x != max) {
            befor_max = x;  
        }
        n /= 10;
    }
    return befor_max;
}
    
int main(void) {
    int n = 213;
    printf("%d\n", getTheSecondHighesDigit(n));
       
    n = 76594;
    printf("%d\n", getTheSecondHighesDigit(n));
       
    n = 86429;
    printf("%d\n", getTheSecondHighesDigit(n));
	
	n = 96500;
    printf("%d\n", getTheSecondHighesDigit(n));
     
    n = 111;
    printf("%d\n", getTheSecondHighesDigit(n));
       
    return 0;
}
    
    
    
/*
run:
    
2
7
8
6
1
    
*/

 



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

Related questions

1 answer 131 views
1 answer 150 views
1 answer 126 views
1 answer 144 views
3 answers 241 views
1 answer 138 views
...