01/10/2018, 01:16
Lỗi Chuyển cơ số 10 sang cơ số 2 trong C
void chuyen(){
while(coSo10>=1){
coSo10 = coSo10/2;
soDu[i] = coSo10 % 2;
i++;
}
for(int j=i; j>0; j--){
printf("%d", soDu[i]);
}
}
mọi người cho e hỏi sai ở đâu nhỉ? thanks
Bài liên quan
không dc bạn ạ. source code full:
#include<stdio.h>
#include<conio.h>
int soDu[100],coSo10,i;
void nhap(){
printf(“nhap co so 10: “);
scanf(”%d”, &coSo10);
}
void chuyen(){
}
int main(){
nhap();
chuyen();
getch();
}
Quên, mình nhầm chỗ này, để
while (coSo10 > 0)
thôiBây giờ, chương trình sẽ compile & run được nhưng kết quả sẽ ra sai, mình sẽ không nói để bạn tự debug nhé !
kq nó vẫn ra 0000…
ok thanks ban…
mình tìm ra lỗi và chạy dc rồi, thanks b
bạn ơi chominhf hỏi là:
for(j=i-1; j>=0; j–){
printf("%d", soDu[j]);
tại sao lại phải chạy từ i-1 đến >=0 mà không pơhair là chạy từ i đến >0 vậy???
Vì đó là thói quen của mình (chỉ số của mảng luôn bắt đầu bằng 0)
nhung nếu bắt đầu từ 1 thì sẽ có kết quả khác là sao vậy nhỉ???