你可以设置一个字符串数组 char HEX[16] = {'0', '1', '2', 3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'} 以后你得出的数字,比如余数y是10,那么HEX[y]打印出来就是A了 例子(现写的) int now; int res[100];//答案 int c = 0;//位数 输入到now; while (now > 0) { res[c] = now % 16; now = now / 16; c++; } 输出是: for (i = 0; i < c; i++) { 输出 HEX[res[i]]; } 算法的精髓都给你啦,好好理解吧 /********************************************** **************** 补充 ***************** **********************************************/ 改你的代码 #include "stdio.h" void main() { char HEX[16] = {'0', '1', '2', 3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; //<----------------这里加了 int num; printf("请输入一个十进制整数:"); scanf("%d",&num); int a[10]; //<----------------这里改了 int i=0; int yushu; while(num>0) { yushu=num%16; a[i]=yushu; num=num/16; i++;/*关键的就在这里,这后面书上写的要用SWITCH,但是我用不好,请各位大虾指教*/ } printf("转化为十六进制的数为:"); for(;i>=0;i--)//倒序输出 { printf("%c",HEX[a[i]]); //<----------------这里改了 } printf("\n"); }
用C语言编写一个程序将输入的十进制数转化成16进制?
最新推荐文章于 2023-08-12 04:41:45 发布