梦凡


私信TA

用户名:fan123456

访问量:1425

签 名:

等  级
排  名 1651
经  验 2724
参赛次数 4
文章发表 17
年  龄 0
在职情况 学生
学  校 云天职教
专  业 软件技术与应用

  自我简介:

解题思路:

注意事项:

//取绝对值,方便计算以及输出

//输出10进制数

//输出二进制数负号

//存放二进制数

//取绝对值,方便计算以及输出

//换行

参考代码:

#include <stdio.h>

#include <math.h>

void bina( int number );

void output( int *A, int number, int n );

 

int jinzhi = 2;

/*----------------------------------------*/

int main()

{

    int number;

 

    while ( scanf( "%d", &number ) != EOF )

        bina( number );

    return(0);

}

 

 

/*----------------------------------------*/

void bina( int number )

{

    int    t    = fabs( number );//取绝对值,方便计算以及输出

    int    i    = 0;

    int    A[10000];//存放二进制数

    do

    {

        A[i]    = t % jinzhi;

        t    /= jinzhi;

        i++;

    }while ( t != 0 );

 

    output( A, number, i );

    return;

}

 

 

/*----------------------------------------*/

void output( int *A, int number, int n )

{

    printf( "%d-->", number );//输出10进制数

    if ( number < 0 )    //输出二进制数负号

        printf( "-" );

    for ( int i = n - 1; i >= 0; i-- )

        printf( "%d", A[i] );

    printf( "\n" ); //换行

    return;

}


 

0.0分

0 人评分

  评论区

  • «
  • »