c语言正整数N转换成一个二进制,用c语言编写一个程序,输入一个不大于32767的正整数N,将它转换成一个二进制数。...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

xvbittt9159

2013.08.05

00e27ab806e4881f8254fe7ae8741834.png

采纳率:58%    等级:12

已帮助:3000人

#include

void main()

{

int result[15] = {0};//数组用来存放最终结果

int number,i;

printf("Input a number:");

scanf("%d",&number);

for(i=0;i<15;i++) //套用了手工求解2进制数的方法

{

result[i] = number%2;

if(!(number = number/2)) break;

}

for(i=14;i>=0;i--) //寻找第一个非零的数组元素

{

if(1==result[i]) break;

}

if(-1==i) i = 0; //如果输入是0,需要把i改为0,否则若果输入0就没有输出了

for(;i>=0;i--) //输出结果

{

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

}

printf("\n");

}

可能没上面的写得漂亮,但是应该挺好懂的。已经测试了0,6,32767等数字,结果显示正确。希望对楼主有帮助。

12分享举报