zoukankan      html  css  js  c++  java
  • C语言实现进制转换——超图面试题

      递归:递归的原理,就是自己调用自己本身。存在一个顺序的问题,如果在递归前的是顺序执行,递归后的是逆序执行,如下: 

    void gogogo()
    {
        //递归之前
        gogogo();
        //递归之后
    }
    递归

      下面实现进制转换就是利用的这个原理。

          代码如下:

    #include<stdio.h>
    #include<stdlib.h>
    void  toletter(int num)
    {
        switch (num)
        {
        case 10:
            printf("%c", 'a'); break;
        case 11:
            printf("%c", 'b'); break;
        case 12:
            printf("%c", 'c'); break;
        case 13:
            printf("%c", 'd'); break;
        case 14:
            printf("%c", 'e'); break;
        case 15:
            printf("%c", 'f'); break;
        default:
            printf("%d", num); break;
        }
    }
    //十进制转二进制
    void convertto2(int num)
    {
        if (num ==1|| num==0)
        {
            printf("%d",num);
        }
        else
        {
          int n=num / 2;
          convertto2(n);
          printf("%d",num %2);//如果把这句话放在convertto2(n);之前就是顺序执行,显示是逆序,所以实现了余数的倒序排列。
        }
    }
    //十进制转八进制
    void convertto8(int num)
    {
        if (num  < 8)
        {
            printf("%d", num);
        }
        else
        {
            int n = num / 8;
            convertto8(n);
            printf("%d", num % 8);
        }
    }
    //十进制转十六进制
    void convertto16(int num)
    {
        if (num<16)
        {
            toletter(num);
        }
        else
        {
            int n = num / 16;
            convertto16(n );
            toletter(num % 16);
        }
    
    }
    
    void main()
    {
        int num;
        printf("请输入一个整数");
        scanf_s("%d",&num);
        printf("
    十进制转二进制:");
        convertto2(num);
        printf("
    十进制转八进制:");
        convertto8(num);
        printf("
    十进制转十六进制:");
        convertto16(num);
        system("pause");
    }

     递归图解

  • 相关阅读:
    java算法小例子
    Spring Boot学习笔记---Spring Boot 基础及使用idea搭建项目
    SpringBoot核心特性之组件自动装配
    spring cloud eureka注册原理-注册失败填坑
    红黑树存在的合理性
    IO模型(epoll)--详解-03
    IO模型(epoll)--详解-02
    IO模型(epoll)--详解-01
    JVM-类加载原理
    并发之原子性、可见性、有序性
  • 原文地址:https://www.cnblogs.com/wangliu/p/4076856.html
Copyright © 2011-2022 走看看