• 蓝桥杯 十进制转十六进制


    问题描述
      十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。
    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
    输出格式
      输出这个整数的16进制表示
    样例输入
    30
    样例输出
    1E
    /*  
    参考人家写的
    把我原来的改装了一下
    答题之前感觉进制转换应该挺简单的
    着手之后才发现其实也不是特别简单
    大概是基础知识还有所欠缺的原因吧
    */
    #include<stdio.h>
    char tohex(int n)
    {
    
        if(n>=10 && n<=15)
        {
            return 'A'+n-10;
        }
        return '0'+n;
    }
    void dec2hex(int n,char *buf)
    {
        int i=0;
        int mod;
        while(n)
        {
            mod = n%16;
            buf[i++]=tohex(mod);
            n=n/16;
        }
    //得进行反序。
        int j,k;
        for(j=0,k=i-1;j<i/2;j++,k--)
        {
            char temp;
            temp = buf[j];
            buf[j] = buf[k];
            buf[k] = temp;
        }
        buf[i]='';
    }
    
    int  main()
    {
        int n;
        scanf("%d",&n);
        char a[32];
        dec2hex(n,a);
        printf("%s",a);
        return 0;
    }
  • 相关阅读:
    算法竞赛入门经典习题2-3 韩信点兵
    ios入门之c语言篇——基本函数——5——素数判断
    ios入门之c语言篇——基本函数——4——数值交换函数
    144. Binary Tree Preorder Traversal
    143. Reorder List
    142. Linked List Cycle II
    139. Word Break
    138. Copy List with Random Pointer
    137. Single Number II
    135. Candy
  • 原文地址:https://www.cnblogs.com/zhangzimu/p/6077274.html
Copyright © 2020-2023  润新知