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

51,811 answers

573 users

How to replace one specific digit in a number with other specific digit in C

2 Answers

0 votes
#include <stdio.h> 
   
int convert_d1_To_d2__(int number, int d1, int d2) { 
    if (number == 0) 
        return 0; 
   
    int digit = number % 10; 
    if (digit == d1) 
        digit = d2; 
   
    return convert_d1_To_d2__(number / 10, d1, d2) * 10 + digit; 
} 
int convert_d1_To_d2(int number, int d1, int d2) { 
    if (number == 0) 
        return d1; 
    else
        return convert_d1_To_d2__(number, d1, d2); 
} 
 
int main() 
{ 
    int number = 18803808; 
     
    printf("%i", convert_d1_To_d2(number, 8, 7)); 
     
    return 0; 
}
 
 
 
/*
run:
 
17703707
 
*/

 



answered Apr 20, 2019 by avibootz
0 votes
#include <stdio.h>
 
int replace_digit_in_number(int number, int d1, int d2) { 
    int result = 0, multiply = 1; 
   
    while (number != 0) { 
        int reminder = number % 10; 
        
        if (reminder == d1)  
            result += d2 * multiply;  
        else
            result += reminder * multiply;          
 
        multiply *= 10; 
        number = number / 10; 
    } 
    return result; 
} 
   
int main() 
{ 
    int number = 18803808; 
       
    printf("%i\n", replace_digit_in_number(number, 8, 7)); 
     
    return 0; 
} 
 
 
 
/*
run:
 
17703707
 
*/

 



answered Apr 20, 2019 by avibootz
edited Apr 21, 2019 by avibootz
...