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