华师一附中OI组

标题: 用递归将十进制数字转成16进制 [打印本页]

作者: admin    时间: 2019-11-2 17:21
标题: 用递归将十进制数字转成16进制
十进制转十六进制一般的做法是短除法,将这个数x不停的除以16,直到商为0,然后将所有的于是逆序输出。
既然逆序,当然就可以考虑吧使用递归来模拟。
  1. #include <iostream>
  2. using namespace std;
  3. string tzb="0123456789ABCDEF";
  4. void c(int x)
  5. {
  6.         if (x>0)
  7.                 {
  8.                         c(x/16);
  9.                         cout<<tzb[x%16];
  10.                 }
  11. }
  12. int main()
  13. {
  14.         c(10000);
  15.         return 0;
  16. }
复制代码


在没有使用while或者for的情况下,十进制数字转成了十六进制




欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2