继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

九日王朝
关注TA
已关注
手记 180
粉丝 42
获赞 185

题目链接:

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");}}


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP