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

xvbittt9159
2013.08.05

采纳率: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分享举报
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)