用递归函数实现十进制转换为十六进制输出
2017-07-18 20:23
791 查看
递归函数的定义,不应出现无终止的递归调用。而应定义为有限次数、有终止的递归调用函数。
对于一个问题,只要能够知道递归定义式,及边界条件(即递归终止的条件),就可以编写一个递归函数。
#include <stdio.h>
#define BASE 16
void tran (int n)
{
if (n == 0)
return;
tran (n / BASE);
if (n % BASE > 9)
printf ("%c",(n % BASE) - 10 + 'A');
else
printf ("%d",n % BASE);
}
int main()
{
int n;
scanf ("%d",&n);
tran (n);
printf ("\n");
return 0;
}
若想改成2进制或8进制输出,只需将程序中的16改成2或8。
对于一个问题,只要能够知道递归定义式,及边界条件(即递归终止的条件),就可以编写一个递归函数。
#include <stdio.h>
#define BASE 16
void tran (int n)
{
if (n == 0)
return;
tran (n / BASE);
if (n % BASE > 9)
printf ("%c",(n % BASE) - 10 + 'A');
else
printf ("%d",n % BASE);
}
int main()
{
int n;
scanf ("%d",&n);
tran (n);
printf ("\n");
return 0;
}
若想改成2进制或8进制输出,只需将程序中的16改成2或8。
相关文章推荐
- 进制转换:将十进制转换为十六进制输出
- 从键盘输入某个十进制小数或整数,转换成对应的二进制小数并输出。 (查询十进制小数转换成二进制小数的算法,使用循环来实现。 最多保留小数位后7位数字即可)算法
- 1.实现输入十进制,输出十六进制
- Java使用bit array实现二进制,十进制,十六进制值之间的转换
- c语言编程实现十进制到十六进制的转换
- 代码实现十进制转换为二进制、十六进制(源码)
- 用C++实现十进制到十六进制的两种转换方法
- 关于使用查表法实现十进制到二进制,八进制,十六进制的转换
- 用递归实现十进制到十六进制的转换
- 利用sprintf和sscanf实现十六进制和十进制之间的相互转换
- java实现:十进制转换为十六进制
- 80x86汇编编程:实现十进制或十六进制向二进制的转换
- unsigned long十进制转换为十六进制只用putchar输出
- 汇编语言程序设计-十进制转换为十六进制的程序实现
- 使用移位操作把十进制转换为二进制与十六进制字符串输出
- (1-1)编写递归函数将十进制转换成二进制数输出
- Sql server实现十六进制和十进制的转换
- C++实现读入二进制数并转换为十进制输出
- mips汇编语言之将十进制整数转换为十六进制输出
- C++---将十进制整数转换为补码输出(十六进制)