Chuyển thập phân thành nhị phân (kiểu char)

#include "Stdafx.h"
#pragma warning(disable:4996)
#include <stdio.h>
#include <conio.h>
#include <math.h>

int main()
{
	char n;
	printf("Nhap N = ");
	scanf("%d", &n);

	while (n)
	{
		printf("%d", n % 2);
		n /= 2;
	}

	getch();
	return 0;
}

Đề yêu cầu là kiểu char, nhưng khi em đổi thành %c thì xuất ra chữ tượng hình :smiley: . Em đổi thành %d thì nó báo lỗi. ( ko đc dùng mảng ạ )
Mọi người có thể giải thích giúp em được không ?

Bạn cứ để n là số nguyên cũng có làm sao đâu?

Khi bạn để %c, bạn đã in ra kí tự có mã ASCII là như vậy.

Bạn miêu tả rõ câu hỏi hơn được không? Đổi ở đâu, lỗi như thế nào?

1 Like
  1. Đổi chỗ nhập n ạ.
  2. lỗi ntn ạ

Sao bạn có vẻ “keo kiệt” với n thế? Đề cho các số n thuộc kiểu char, nhưng bạn để n là kiểu int có làm sao đâu?

1 Like

:)) Em thấy đề là “Viết chương trình nhập số nguyên N (kiểu char). In ra cho biết biểu diễn nhị phân của
N” nhưng dùng char ko đc, cứ nghĩ đó là thâm ý của người ra đề chứ :smiley:

Chả có thâm ý gì ở đây cả, trừ khi máy chấm soi kiểu của n thì bạn để n là int cũng chả làm sao cả, miễn là ra đáp số.

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