Em làm một chương trình mà nhập biến n ở dạng số decimal và chương trình sẽ phải chạy và hiện ra cả 3 số binary, octal, hexadecimal (chuyển đổi cơ số ) của số n mà em nhập vào.
Mà em không hiểu tại sao số mà em nhập vào, nó chỉ hiện ra kết quả chuyển đổi sang binary của nó, chứ không hiển thị octal,hexadecimal. Kiểu như nó bị chết đứng dừng chân tại chỗ binary, còn các vòng for tiếp theo - cái mà hiển thị octal,hexadecimal thì nó nhất quyết không thực thi và bỏ qua mặc kệ.
Mong mọi người giúp em với, em loay hoay cả ngày rồi vẫn không hiểu tại sao
#include <stdio.h>
int main(){
int a[100],b[100],c[100],n,i;
printf("Enter the number to convert: ");
scanf("%d",&n);
//-------------------------------------------------------------------------Binary
for(i=0;n>0;i++){
a[i]=n%2;
n=n/2;
}
printf ("\nBinary number: ");
for(i=i-1;i>=0;i--){
printf("%d",a[i]);
}
printf ("\n");
//----------------------------------------------------------Octal
for(i=0;n>0;i++){
b[i]=n%8;
n=n/8;
}
printf ("Octal number: ");
for(i=i-1;i>=0;i--){
printf(" %d\n",b[i]);
}
printf ("\n");
//--------------------------------------------------------------------------------------Hex
for(i=0;n>0;i++){
c[i]=n%16;
n=n/16;
}
printf ("Hexadecimal number: ") ;
for(i=i-1;i>=0;i--){
printf ("%d",c[i]) ;
}
return 0;
} ```