开发者社区> 问答> 正文

C语言 递归算法 十进制转化十六进制

看清楚了 是递归算法 不能使用指针和数组 不准使用指针和数组 可以只把函数发上来

展开
收起
知与谁同 2018-07-20 11:15:01 2365 0
2 条回答
写回答
取消 提交回答
  • 云栖社区聚能聊、问答管理员~发福利、搞怪,八卦我来,论技术、发话题、写博客你上!
    #include <stdio.h>

    void puthex(int n)
    {
      putchar(n < 10 ? '0' + n : 'A' + n - 10);
    }

    void i2hex(int n)
    {
      if (n > 0) { i2hex(n / 16); puthex(n % 16); }
    }

    int main()
    {
      int i;
      scanf("%d", &i);
      i2hex(i);
      return 0;
    }
    2019-07-17 22:54:44
    赞同 展开评论 打赏
  • 胜天半子

    递归实现 符合你的要求 /////////////////////////////////////////

    //        C-Free 4.1

    //        MinGW  3.4.5

    //        veket的小号

    /////////////////////////////////////////

    #include <stdio.h>

    void fun(int n)

    {

     if(n<10)

      printf("%c", n+'0');

     if(n>=10 && n<=15)

      printf("%c", n-10+'A');

    }

    void RecurrenceDecToHex(int x)

    {
     if(x>=16)
     {
      RecurrenceDecToHex(x/16);
     }
     fun(x%16);


    }

    int main()

    {

     RecurrenceDecToHex(45036);

        return 0;

    }

    2019-07-17 22:54:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载