Chương trình C chuyển số decimal thành binary bị lỗi

Mn xem giúp mình với code này sai ở chỗ nào vậy ạ? Chương trình C chuyển số decimal thành binary yêu cầu có hàm convert và hàm display riêng

 #include <stdio.h>
#include <stdlib.h>

void convert(int n, int count, int a[]) {
    count = 0;
    while (n > 0) {
        a[count] = n % 2;
        n = n / 2;
        count++;
    }
}

void display(int n) {
    int a[100];
    int count;
    convert(n, count, a);
    for (int i = count - 1; i >= 0; i--) {
        printf("%d", a[i]);
    }
}

int main(int argc, char** argv) {
    int n;
    printf("Enter a decimal number: ");
    scanf("%d", &n);
    printf("Binary number: ");
    display(n);
    return (EXIT_SUCCESS);
}

Muốn hàm display biết hàm convert count bao nhiêu thì truyền tham chiếu vào: void convert(int n,int& count,int a[]).
Sau nếu có đặt câu hỏi thì bạn nên mô tả code một chút nhé, đã làm được gì, khúc mắc chỗ nào. Chứ đừng vứt cái code lên xong hỏi “tại sao code không chạy”. Rất mất thời gian để người khác trả lời.

2 Likes

Cảm ơn bạn đã chỉ bảo và góp ý ạ. Lần sau mình sẽ rút kinh nghiệm hơn ạ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?