递归应用_进制转换_2_8_16
#include<stdio.h>
#define P printf
void digui(int x,int n){
int a=0;
if(n!=2&&n!=8&&n!=16){
P("此程序只适用于2,8,16进制的换算");
return;
}
if(x<1)
{
return;
}
a=x%n;
x=x/n;
digui(x,n);
if(a>9){
switch(a){
case 10:
P("A\t");
break;
case 11:
P("B\t");
break;
case 12:
P("C\t");
break;
case 13:
P("D\t");
break;
case 14:
P("E\t");
break;
case 15:
P("F\t");
break;
default:
break;
}
}
else{
P("%d\t",a);
}
}
void main(){
digui(13579,16);
getchar();
}
#define P printf
void digui(int x,int n){
int a=0;
if(n!=2&&n!=8&&n!=16){
P("此程序只适用于2,8,16进制的换算");
return;
}
if(x<1)
{
return;
}
a=x%n;
x=x/n;
digui(x,n);
if(a>9){
switch(a){
case 10:
P("A\t");
break;
case 11:
P("B\t");
break;
case 12:
P("C\t");
break;
case 13:
P("D\t");
break;
case 14:
P("E\t");
break;
case 15:
P("F\t");
break;
default:
break;
}
}
else{
P("%d\t",a);
}
}
void main(){
digui(13579,16);
getchar();
}