满意答案
AropeJewzew
2014.01.22
采纳率:54% 等级:12
已帮助:6720人
#define N 20
#include
void main()
{
int a[N],b,c,i=0,j;
printf("十进数为:");
scanf("%d",&b);
c=b;
printf("直接输出十六进制数为%x",c);
printf("\n");
printf("二进制数为:");
while(b) //不用for循环,用while循环,直到b=0退出循环
{
a[i]=b%2;
b=b/2;
i++;
}
for(j=i-1;j>=0;j--)//输出时借助上面用到的i,这样就不会输出多余的
printf("%d",a[j]);
printf("\n");
printf("转换的十六进制数为:");
i=0;//为了上面用到i不影响下面,置0
while(c)
{
a[i]=c%16; //输出十六进制改法同上咯
c=c/16;
i++;
}
for(j=i-1;j>=0;j--)
{if(a[j]>=10) printf("%c",a[j]+55); else printf("%d",a[j]); }
printf("\n");
}
不懂在线交谈哦!
00分享举报