现在的位置: 首页 > 综合 > 正文

简单C语言递归实现进制转换并输出

2018年02月17日 ⁄ 综合 ⁄ 共 386字 ⁄ 字号 评论关闭

要实现进制转换,通常的方法就是通过除法取余数的方法,但是通常得到各位数是反序输出的,这里介绍一种简单的方法实现正序输出结果。通过函数的递归调用,在得到所有的位的计算结果以后再输出。


简单C语言实现10进制到16进制的转换并输出结果:

#include <stdio.h>

void convert(int current)
{
	int next = current/16;
	int num = current%16;
	char table[] = {'A','B','C','D','E','F'};
	if(num != 0)
	{
		convert(next);
		if(num < 10)
		{
			printf("%d",num);
		}
		else
		{
			printf("%c",table[num-10]);
		}
	}
}

int main()
{
	int i = 3000;
	convert(3000);
}

当然,解决这种问题有很多种方法,这里只是利用递归的一个思路。


 

抱歉!评论已关闭.