题目链接:
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");}}