snip_进制转换代码段

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("\n"); 
}
 
int main()
{
	int num;
    printf("请输入要转换的十进制数:\n"); 
            scanf("%d",&num); 
			tranDemi2Hex(num);
	return 0;
}
posted @ 2014-08-09 18:37  tt-player  阅读(215)  评论(0编辑  收藏  举报