解题思路:
注意事项:
//取绝对值,方便计算以及输出
//输出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 人评分