alonha 2020-05-06 20:48 采纳率: 100%
浏览 103
已采纳

请问这个C语言的这个代码怎么做

题目描述

输入一个十进制数N(32位整数),将它转换成二进制数输出.

输入

输入数据包含多个测试实例,每个测试实例包含1个整数N(32位整数)。

输出

输出转换后的数,每个输出占1行。

样例输入 Copy

55

-23

42

-2

样例输出 Copy

110111

-10111

101010

-10

#include <stdio.h>
int main()
{
     int n,a,r,i=0,j=1,count[100];    
     scanf("%d",&a);
    if(a<=-1)
    n=-a; 
    else
    n=a;
     do             
    {
         r=n%2;      
         n=n/2;
         i++;
        count[i]=r;
     }
    while(n!=0);
    if(a<=-1)
        count[i]=-count[i];
     for(j=i;j>0;j--)              
        printf("%d",count[j]);
     return 0;
}

请问我做的这个哪里错误了,谢谢

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-05-06 22:39
    关注

    代码原则上没有什么错。
    但是可能题目要求能连续输入多组,而你只能输入输出1组。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。