Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để thay thế tất cả các số không bằng một trong một số nguyên nhất định.

Vấn đề

Viết chương trình thay thế tất cả các số không (0) bằng 1 trong một số nguyên cho trước.

Cho một số nguyên làm đầu vào, tất cả các chữ số 0 trong số phải được thay thế bằng 1.

Giải pháp

Hãy xem xét một ví dụ được đưa ra bên dưới -

Ở đây, đầu vào là 102410 và đầu ra là 112411.

Thuật toán

Tham khảo thuật toán đưa ra bên dưới để thay thế tất cả các số 0 thành 1 trong một số nguyên.

Bước 1 - Nhập số nguyên từ người dùng.

Bước 2 - Duyệt chữ số nguyên sang chữ số.

Bước 3 - Nếu gặp phải '0', hãy thay thế nó bằng '1'.

Bước 4 - In số nguyên.

Ví dụ

Dưới đây là chương trình C để thay thế tất cả các số 0 bằng 1 trong một số nguyên cho trước -

#include<stdio.h>
int replace(long int number){
   if (number == 0)
   return 0;
   //check last digit and change it if needed
   int digit = number % 10;
   if (digit == 0)
   digit = 1;
   // Convert remaining digits and append to its last digit
   return replace(number/10) * 10 + digit;
}
int Convert(long int number){
   if (number == 0)
      return 1;
   else
      return replace(number);
}
int main(){
   long int number;
   printf("\nEnter any number : ");
   scanf("%d", &number);
   printf("\nAfter replacement the number is : %dn", Convert(number));
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter any number: 1056110010
After replacement the number is: 1156111111