问题描述:输入多组数据,输出其二进制的形式,以输入0 结束程序。
解法:循环。用一个数组来存放每次运算的余数,每次运算指的是被除数 除以 2 ,每得到一个余数就放到数组里面,一直运算知道被除数等于0为止,输出二进制要从数组里逆序输出。
代码:
#include <iostream>
using namespace std;
int a[100];//数组用来存放余数
int main()
{
int beichushu,yushu,i=1;
while(cin>>beichushu&&beichushu!=0)//多次输入,以0结束程序
{
while (beichushu!=0)
{
yushu=beichushu%2;
beichushu=beichushu/2;
a[i]=yushu;
i++;
}//循环,一直到被除数为0为止
for(i=i-1;i>=1;i--)//注意>=条件 余数要逆序输出
cout<<a[i]<<" ";
cout<<endl;
i=1;
}
return 0;
}
运行截图: