Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C thay thế số 0 bằng 1 trong số nguyên


Vấn đề

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

Cho số nguyên đầu vào, tất cả chữ số 0 phải thay bằng 1.

Giải pháp

Ví dụ: đầu vào 102410 -> đầu ra 112411.

Thuật toán

Thuật toán thay 0 bằng 1 trong số nguyên:

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

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

Bước 3 - Nếu gặp '0', thay bằng '1'.

Bước 4 - In số nguyên kết quả.

Ví dụ

Chương trình C thay 0 bằng 1:

#include <stdio.h> 
int replace(long int number){ 
    if (number == 0) 
        return 0; 
    // Kiem tra chu so cuoi va thay doi neu can 
    int digit = number % 10; 
    if (digit == 0) 
        digit = 1; 
    // Chuyen doi cac chu so con lai va noi vao chu so cuoi 
    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("\nNhap so bat ky: "); 
    scanf("%ld", &number); 
    printf("\nSau khi thay the so la: %ld\n", Convert(number)); 
    return 0; 
}

Đầu ra

Kết quả chạy chương trình:

Nhap so: 1056110010 
Sau khi thay the: 1156111111