0
点赞
收藏
分享

微信扫一扫

大数——二进制转换(hdu2051)


题目链接:

​​http://acm.hdu.edu.cn/showproblem.php?pid=2051​​


题目描述:输入为一个整数,但输出的二进制很容易超出范围,所以改用字符串进行输出

一、这道题输入的整数会存在负数,所以注意对输入进行判断

二、对二进行取余,跟大数相加一样,先产生的是末端,所以输出时要倒着输出

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{int n,i;
char a[10000];
while(scanf("%d",&n)!=EOF){
i=0;
if(n<0){n=abs(n);
printf("-");}
while(n>0)
{
a[i]=n%2+48;
n=n/2;
i++;}
n=i-1;
for(i=n;i>=0;i--)
printf("%c",a[i]);

printf("\n");
}}





举报

相关推荐

0 条评论