思路:除以2,倒取余数,直到商为0
- 输入a
计数器:i=0
余数存到数组的第一个元素中:b[0]=a%2
2. 判断 商是否为0
3. 只要 a/2!=0 重复以下操作
将商再次复制给 a a=a/2
计数器+1 i=i+1
余数存到数组 b[i]=a%2
4. 逆序输出 b[i]
#include <bits/stdc++.h>
using namespace std;
int q[100];//用来存放余数
int main()
{
int a,n=0;
cin >> a;
q[0]=a%2;
while (a/2!=0)
{
a=a/2;
n++; //计数—第几个余数
q[n]=a%2; //将余数存进数组
}
for (int i=n;i>=0;i--) //逆序输出
{
cout<<q[i];
}
return 0;
}