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

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,166 questions

40,722 answers

573 users

How to remove the N digit from a number in C

1 Answer

0 votes
#include <stdio.h>
#include <math.h>
    
int reverse_number(int num) {
    int reminder = 0, reverse = 0;
    while (num != 0) {    
        reminder = num % 10;      
        reverse = reverse * 10 + reminder;    
        num /= 10;    
    }
    return reverse;
} 
    
int delete_digit(int num, int n_digit) { 
    int rev_new_num = 0; 
    int l = log10(num) + 1; 
      
    for (int i = 0; num != 0; i++) { 
        int digit = num % 10; 
        num = num / 10; 
    
        if (i != l - n_digit) {
            rev_new_num = (rev_new_num * 10) + digit; 
        } 
    } 
       
    return reverse_number(rev_new_num); 
} 
int main() {
    int num = 37598; 
    
    printf("%i\n", delete_digit(num, 3));
    printf("%i\n", delete_digit(num, 1));
    printf("%i\n", delete_digit(num, 5));
}
    
 
  
/*
run:
    
3798
7598
3759
    
*/

 





answered Apr 22, 2019 by avibootz
edited Apr 22, 2019 by avibootz

Related questions

1 answer 22 views
1 answer 25 views
1 answer 73 views
3 answers 91 views
...