解题思路:

注意事项:

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

//输出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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论