Онлайн компилятор C

#include <stdio.h> int main() { int n,m; scanf("%d",&n); int a[1000]; int temp=n; int length=0; if(n==0){ printf("0"); } do{ m=temp%2; a[length]=m; length++; temp=temp/2; } while(temp!=0); for(int i=length-1;i>=0;i-- ){ printf("%d",a[i]); } return 0; }
1) 这段代码将用户输入的十进制整数转换为二进制表示,并输出二进制数。如果输入是0,则直接输出0。

2) 提示:注意数组 `a` 的大小是1000,确保转换的二进制位数不会超过这个长度。另外,循环条件 `do...while` 确保了即使输入是0也能正确处理(开头的if语句单独处理了0的情况)。