c语言中10转8和16的转换,C语言——2,8,10,16进制之间的转换

在程序中这种题最终结果都是用十进制输出的,其实如果不用程序,只需要在输入时%x输入16进制,输出%d即可自动转换为10进制。不过下面这个题目的结果却没有输出不是很了解,希望能看到的大佬能解答一二。

#include

void dg(int h);

void shuchu(int i);

int main()

{

int a;

scanf("%d",&a);

if(a==0)

{

printf("0");

}

else

{

dg(a);

}

return 0;

}

void dg(int h)

{

if((h/16)>15)

{

dg(h/16);

shuchu(h%16);

}

else

{

shuchu(h/16);

shuchu(h%16);

}

}

void shuchu(int i)

{

switch(i)

{

case'0':printf("0");break;

case'1':printf("1");break;

case'2':printf("2");break;

case'3':printf("3");break;

case'4':printf("4");break;

case'5':printf("5");break;

case'6':printf("6");break;

case'7':printf("7");break;

case'8':printf("8");break;

case'9':printf("9");break;

case'10':printf("A");break;

case'11':printf("B");break;

case'12':printf("C");break;

case'13':printf("D");break;

case'14':printf("E");break;

case'15':printf("F");break;

default:printf(" ");

}

}

6067ade5f822d8b9669df0d3a3c56c44.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值