注册 登录
编程论坛 C语言论坛

十进制转二进制

qazxsw321 发布于 2019-12-19 21:47, 3022 次点击
输入为一个10进制大整数(大整数大于0,不带符号,无前导0,至少1位数字,且不超过100位数字)。要求将该整数转换成二进制数,并输出。
建议:用字符数组存储大整数。
输入样例
1234567890
输出样例
1001001100101100000001011010010
#include<stdio.h>

int main()
{
   
    int j,k,l,m,n=0;
    scanf("%d",&j);
    int a[100];
    l=j;
    do{l=l/2;n++;}  while(l!=0);
    for(k=1;k<=n;k++){
        m=j%2;   
        a[k]=m;
        j=j/2;
    }
    for(k=n;k>=1;k--)
        printf("%d",a[k]);
        return 0;
}
我试了好几个数都是对的,但是提交后却是答案错误,不知道为什么
3 回复
#2
forever742019-12-19 21:56
同一个坑不敢相信你又掉了进去。
你的小米手机换成华为的以后还得找个人用两天时间教你怎么用?
#3
bcbbcclbbc2019-12-20 10:23
十进制转二进制
输入为一个10进制大整数(大整数大于0,不带符号,无前导0,至少1位数字,且不超过100位数字)。要求将该整数转换成二进制数,并输出。
建议:用字符数组存储大整数。

听一听建议,绕个弯就完事了,何必纠结。
#4
adminzj2019-12-21 03:23
建议:用字符数组存储大整数。
1