大概思路:
输入任意十进制数字 首先确定位数;

使用整形数组来存储十六进制数; a[0] 表示十六进制数字的位数;

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define MAXSIZE 10
  5. int* ahex(int dec){
  6. int n=;
  7. int m=;
  8. int *a;
  9. a = (int*)malloc(sizeof(int)*MAXSIZE+);
  10. while(dec >= m)
  11. {
  12. m = m*;
  13. n++;
  14. }
  15. //printf("位数:%d\n",n);
  16. *a = n;
  17. while(n>)
  18. {
  19. *(a+n)= dec/(m/);
  20. dec = dec-*(a+n)*(m/);
  21. n--;
  22. m = m/;
  23.  
  24. }
  25. return a;
  26. }
  27.  
  28. void print_hex(int *p){
  29. int n = *p;
  30. printf("hex: 0x");
  31. while(n>)
  32. {
  33. switch(*(p+n)){
  34. case :printf("A");break;
  35. case :printf("B");break;
  36. case :printf("C");break;
  37. case :printf("D");break;
  38. case :printf("E");break;
  39. case :printf("F");break;
  40. default: printf("%d",*(p+n));break;
  41. }
  42. n--;
  43. }
  44. printf("\n");
  45. }
  46. int main()
  47. {
  48. int rec=;
  49. int *p;
  50. while(){
  51. printf("请输入一个十进制数字:");
  52. scanf("%d",&rec);
  53. p = ahex(rec);
  54. print_hex(p);
  55. }
  56. return ;
  57. }

最终效果:

【C语言】 任意十进制数字转十六进制的更多相关文章

  1. shell 十进制数字转十六进制字符串并将结果保存到变量

    . . . . . 今天写测试脚本的时候需要将生成的十六进制值作为参数传递给某个命令,而循环生成的数值都是十进制的.在网上查了好久也没有找到如何将一个变量中的值进行进制转换,并保存到变量中,网上的办法 ...

  2. [C语言]易错知识点、小知识点复习(1)

    1. 计算机只能识别由0和1组成的二进制指令,需要将用高级语言(如C.C++)编写的源程序(.c..cpp)编译成二进制目标文件(.obj).一个程序可以根据需要写在不同的文件里,编译是以文件为单位进 ...

  3. 明解C语言

    本文为阅读书籍<明解C语言-中级篇>所积累的知识点及编译书本代码时遇到的问题.部分对应代码在\Code_2018\BK_明解C语言目录下.每个代码内都含有程序功能.思路.疑惑点等内容,如有 ...

  4. C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式

     1         C语言中的数据类型 1.1      常量 常量就是在程序中不可变化的量 1.1.1         #define #define MAX 10 Define;//定义了一 ...

  5. 2_C语言中的数据类型 (二)进制

    1.1       二进制数.位.字节与字 我们习惯于十进制的数:10,12等 一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit 一个字节为8个二进制,称为8位,简称BYTE,8个比特 ...

  6. windows7命令帮助大全

    有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.BCDEDIT 设置启动数据库 ...

  7. BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...

  8. 前端学PHP之正则表达式基础语法

    前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本 ...

  9. 【转载】BAT 批处理脚本教程

    来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程   第一章 批处理基础第一节 常用批处 ...

随机推荐

  1. PTA (Advanced Level) 1027 Colors in Mars

    Colors in Mars People in Mars represent the colors in their computers in a similar way as the Earth ...

  2. Error : Weblogic Maven Plugin deployment WebLogic 12c

    Error : Weblogic Maven Plugin deployment i want to use weblogic-maven-plugin in my maven project in ...

  3. 把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器

    接上一篇博文<把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像>,这次我们看看如何使用docker存储数据. 背景 之前的示例都只有一个网站应用 ...

  4. mysql 中文乱码 解决

    数据库安装设置编码: mysql默认的字符编码是latin1,而我用的是utf-8,存入数据库就变成了?????这样的乱码,解决方法:   修改安装路径下的my.ini文件,default-chara ...

  5. angularjs 从外部改变controller内的数据

    var appElement = document.querySelector('[ng-controller=seatsCtrl]'); var $scope = angular.element(a ...

  6. ILMerge将源DLL合并到目标EXE

    ILMerge将源DLL合并到目标EXE(.NET4.6.2) 本文为原创文章,如转载,请在网页明显位置标明原文名称.作者及网址,谢谢! 本文主要是使用微软的ILMerge工具将源DLL合并到目标EX ...

  7. 通向全栈之路——(4)nginx反向代理配置

    1.安装nginx:sudo apt-get install nginx2.新建配置文件:cd /etc/nginx/conf.dsudo vi XXX-cn-8080.conf内容如下:upstre ...

  8. [javaSE] 数组(查找-二分查找)

    前提数组必须是有序的 定义最小,最大,中间的角标索引 int min,max,mid; min=0; max=arr.length-1; mid=(min+max)/2; 上面的索引需要变化,使用循环 ...

  9. Eclipse的版本命名

    Eclipse自3.1开始使用木星的卫星作为版本名,例如: 木卫一:伊奥 lo木卫二:欧罗巴 Europa木卫三:伽倪墨得斯 Ganymede木卫四:卡利斯托 Callisto .... Eclips ...

  10. Java - Float与Double类型比较

    https://blog.csdn.net/wcxiaoych/article/details/42806313