二进制转换
问题描述:输入多组数据,输出其二进制的形式,以输入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; }
运行截图: