用C语言编写一个小程序,请问代码是什么?

编写一个小程序,完成以下功能:程序接受用户输入一个十进制整数,并将这个整数的二进制、八进制、十进制、十六进制形式打印到屏幕上,并统计这个整数的有效位个数(最小占用位数)和... 编写一个小程序,完成以下功能:程序接受用户输入一个十进制整数,并将这个整数的二进制、八进制、十进制、十六进制形式打印到屏幕上,并统计这个整数的有效位个数(最小占用位数)和有效二进制位中0和1的个数,要求界面友好易操作。 展开
 我来答
hkkhhk1
2009-10-21 · TA获得超过225个赞
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:347万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main(void)
{
int a,b,c,b0=0,b1=0,d8=0,dx=0,d10=0,d2=0;
scanf("%d",&a);

c=a;
while(c)
{
d8++;
c/=8;
}

c=a;
while(c)
{
dx++;
c/=16;
}

c=a;
while(c)
{
d10++;
c/=10;
}
c=a;
while(c)
{
d2++;
c/=2;
}

printf("%d:%d %x:%d %o:%d ",a,d10,a,dx,a,d8);

b=0;
c=a;
while(c)
{
b=b*2+c%2;
if(c%2)
b1++;
else
b0++;
c/=2;
}
c=b;
a=0;
while(b)
{
a++;
b/=2;
}
while(c)
{
printf("%d",c%2);
c/=2;
}
for(b=0;b<b1+b0-a;b++)
printf("0");
printf(":%d",d2);
printf("\nBinary digitals: 0:%d 1:%d",b0,b1);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式