进制转换
时间: 1ms 内存:128M
描述:
输入一个整数,把他转化成二进制。
输入:
6
输出:
110
示例输入:
6
示例输出:
110
提示:
参考答案(内存最优[1120]):
#include<stdio.h>
int main()
{
int a[1000],n,i,b=0;
scanf("%d",&n);
for(i=1;i<=1000;i++)
{
a[i]=n%2;
n=n/2;
b++;
if(n==0)
break;
}
for(i=b;i>=1;i--)
{
printf("%d",a[i]);
}
return 0;
}
参考答案(时间最优[0]):
#include<stdio.h>
int main()
{
int x,y,a[8]={0};
int i,j;
scanf("%d",&x);
for(i=0;i<8;i++)
{
y=x>>i;
a[i]=(y&1);
}
for(i=7;i>=0;i--)
{
if(a[i]!=0)
{
j=i;
break;
}
}
for(i=7;i>=0;i--)
{
if(a[i]!=0)
{
j=i;
break;
}
}
for(i=j;i>=0;i--)
{
printf("%d",a[i]);
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。