01/10/2018, 11:50

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 . 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 ?

HK boy viết 13:52 ngày 01/10/2018

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.

Đề 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 . Em đổi thành %d thì nó báo lỗi. ( ko đc dùng mảng ạ )

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

LTH viết 14:01 ngày 01/10/2018
  1. Đổi chỗ nhập n ạ.
  2. lỗi ntn ạ
HK boy viết 13:55 ngày 01/10/2018

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?

LTH viết 14:05 ngày 01/10/2018

:)) 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ứ

HK boy viết 14:02 ngày 01/10/2018

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ố.

Bài liên quan
0