递归 将一个10进制数,转换为16进制
代码:
#include <stdio.h> char HexToChar(unsigned int num) { switch(num) { case 0 : return '0'; case 1 : return '1'; case 2 : return '2'; case 3 : return '3'; case 4 : return '4'; case 5 : return '5'; case 6 : return '6'; case 7 : return '7'; case 8 : return '8'; case 9 : return '9'; case 10 : return 'a'; case 11 : return 'b'; case 12 : return 'c'; case 13 : return 'd'; case 14 : return 'e'; case 15 : return 'f'; } return '0'; } void MyHex(unsigned int num) { unsigned int tmp = num%16; if(num > 16 ) MyHex(num / 16); printf("%c",HexToChar(tmp)); } int main() { int a =100111; scanf("%d",&a); MyHex(a); printf("\n"); return 0; }
高亮部分是这段代码利用“递归”的关键所在:1 递归要有重要的退出条件 2 递归中的外部形参变实参,一系列操作后,数据再设置为内部形参,是一大特点。
运行: