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,914 questions

51,847 answers

573 users

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

1 Answer

0 votes
#include <stdio.h>
    
int getTheSecondHighestDigit(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", getTheSecondHighestDigit(n));
        
    n = 76594;
    printf("%d\n", getTheSecondHighestDigit(n));
        
    n = 86429;
    printf("%d\n", getTheSecondHighestDigit(n));
     
    n = 96500;
    printf("%d\n", getTheSecondHighestDigit(n));
      
    n = 111;
    printf("%d\n", getTheSecondHighestDigit(n));
        
    return 0;
}
     
     
     
/*
run:
     
2
7
8
6
1
     
*/

 



answered May 30, 2020 by avibootz

Related questions

1 answer 109 views
1 answer 135 views
1 answer 116 views
1 answer 144 views
1 answer 115 views
1 answer 137 views
1 answer 96 views
...