#include <stdio.h>
#include <math.h>
int main()
{
int m,n;
int a[10000];
while(scanf("%d",&n)!=EOF)
{
m=0;
if(n>=0)
{
if(n==0||n==1)printf("%11d-->%d\n",n,n);
else
{
printf("%11d-->",n);
while(n!=1)
{
a[m++]=n%2;
n/=2;
}
a[m]=1;
for(;m>=0;m--)
printf("%d",a[m]);
printf("\n");
}
}
else
{
printf("%11d-->",n);
while(n!=-1)
{
a[m++]=abs(n%2);
n/=2;
}
a[m]=-1;
for(;m>=0;m--)
printf("%d",a[m]);
printf("\n");
}
}
return 0;
}
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:537 |
C语言程序设计教程(第三版)课后习题5.7 (Java代码)浏览:889 |
The 3n + 1 problem (C语言代码)浏览:554 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1921 |
数组与指针的问题浏览:718 |
矩形面积交 (C语言代码)浏览:1314 |
交换Easy (C语言代码)浏览:763 |
判定字符位置 (C语言代码)浏览:799 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:766 |
C二级辅导-计负均正 (C语言代码)浏览:643 |