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 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制