Online Compiler C

#include <stdio.h> int main() { int n,m; scanf("%d",&n); int a[100]; int temp=n; int length=0; do{ m=temp%2; a[length]=m; length++; temp=temp/2; } while(temp!=0); for(int i=0;i<length;i++ ){ printf("%d",a[i]); } return 0; }
1) 这段代码读取一个十进制整数,将其转换为二进制表示,并以逆序(从低位到高位)输出二进制数字。

2) 提示:注意观察输出顺序,二进制的最高位通常应该最先输出,但当前代码的输出顺序可能不符合常规阅读习惯。另外,考虑当输入为0时,程序的循环和输出会发生什么情况。