69,373
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#define TRUE 1
void binary_dec(unsigned int,unsigned int);
int main()
{
unsigned int number;
printf("请输入一个十进制的数:\n");
scanf("%d",&number);
printf("请输入你需要转换的进制:\n");
unsigned int bin;
scanf("%d",&bin);
if(bin!=2&&bin!=8&&bin!=10&&bin!=16)
printf("只能转换:2、8、10、16,请重新输入!");//出错
binary_dec(number,bin);
}
void binary_dec(unsigned int num,unsigned int bin)
{
unsigned int dec;
dec=num/bin;
if(dec!=0)
binary_dec(dec,bin);
if(bin==2||bin==8||bin==10)
putchar("0123456789"[num%bin]);//输出转换进制的数
else if(bin==16)
putchar("0123456789ABCDEF"[num%bin]);//输出二进制的数
}