7-3 编写函数输出一个十进制整数的十六进制形式 (100 分)
案例拓展 编写函数输出一个十进制整数的十六进制形式 编写函数,函数的参数是整数N,在函数中输出整数N的十六进制形式(递归方法实现)。主函数中输入整数a和b,输出从a到b的所有整数的十六进制形式。具体输出格式参考样例。
输入样例:
200 210
结尾无空行
输出样例:
C8 C9 CA CB CC CD CE CF D0 D1 D2
结尾无空行
输入样例:
20000 20010
结尾无空行
输出样例:
4E20 4E21 4E22 4E23 4E24 4E25 4E26 4E27 4E28 4E29 4E2A
#include<stdio.h>
void fun(int N)
{
if(N/16==0) //递归结束条件
{
if(N%16<10) //判断十六进制最后一个数是否>=10
putchar(N%16+'0'); //若不是+'0'转换为字符型输出
else
{
putchar(N%16-10+'A'); //若是转化为字母输出
}
return;
}
fun(N/16);
if(N%16<10) //递归输出十六进制数
{
putchar(N%16+'0');
}
else
{
putchar(N%16-10+'A');
}
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
for(int i=0;i<=b-a;i++)//循环输出a->>b所有数
{
if(i==b-a)//注意格式结尾无空格
{
fun(a+i);
break;
}
fun(a+i);
putchar(' ');
}
return 0;
}
问题总结
无