/** Function : fun* Usage : fun(num_10,num,n);* --------------------------* num_10 : 10进制数* num : 保存转换后的字符数组* n : 几进制(如2,8,16)* -----------------------------*/void fun(int num_10,char *num,int n) { char *p=num,temp; do { temp=(num_10%n+'0'); *p++=(temp>=':')?('A'+(temp-':')):temp; }while (num_10/=n); *p='\0'; /*修改存放位置,因为上面是以反向存放的*/ for (p--;p>=num;p--,num++) temp=*p,*p=*num,*num=temp;}int main() { int num_10; char num[80]; scanf("%d",&num_10); fun(num_10,num,8); /*转成8进制*/ printf("8进制:%s\n",num); fun(num_10,num,2); /*转成2进制*/ printf("2进制:%s\n",num); fun(num_10,num,16); /*转成16进制*/ printf("16进制:%s\n",num); getchar(); getchar(); return 0;}

评论