10进制转成16进制.
/* 程序:10进制转16进制的C语言实现 描述: 关键: 获得余 获得整 整为零 则退出 */ #include<stdio.h> #define N 10 #define k 16 void tranDemi2Hex(int num) { int arr[N],i; for (i=0;i <N;i++) //限制最大的转换位数。 { arr[i]=num%k; //$KEY$ num=num/k; if (num==0) break; } printf("转换为%d进制数为: ",k); for (;i>=0;i--) //倒着输出过来。 // switch (arr[i]) // { // case 10: printf("A");break; // case 11: printf("B");break; // case 12: printf("C");break; // case 13: printf("D");break; // case 14: printf("E");break; // case 15: printf("F");break; // default: printf("%d",arr[i]); // } if(arr[i]>=10) { char c = 55+arr[i]; //A=65=55+10 printf("%c",c); } else { printf("%d",arr[i]); } printf(" "); } int main() { int num; printf("请输入要转换的十进制数: "); scanf("%d",&num); tranDemi2Hex(num); return 0; }