进制转换:十进制整数转为二进制

进制转换:十进制整数转为二进制

题目描述:

输入一个十进制正整数N,将它转换成二进制数输出。
输入
输入数据包含多个测试实例,每个测试实例包含一个整数N(32位整数)。
输出
为每个测试实例输出转换后的数,每个输出占一行。

样例输入
7
6
样例输出
111
110

代码如下:

#include
int main()
{
  int n,a,b,i=0,j;
  int m[1000];//定义一个整型数组,存储二进制数
  while(scanf("%d",&n)!=EOF)//多次输入
  {
    i=0;
    while(n/2!=0)
    {
      m[i]=n%2;//对二取余
      i++;
      n=n/2;
    }
    m[i]=n;
    while(i>=0)
    {
      printf("%d",m[i]);//逆序输出
      i--;
    }
    printf("\n");
  }
  return 0;
}

分析:
由于题目要求十进制转换为二进制,所以连续对二取余即可,最后逆序输出余数,即得结果。

你可能感兴趣的:(算法)