解题思路:
注意事项:
//取绝对值,方便计算以及输出
//输出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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复