回复 8楼 jtx0329
它是从最后一个余数开始打印出的。
#include<stdio.h> //十装换为16进制以下任意进制
int main()
{ void f(int i,int n);
for(;;)
{
int i,n;
printf("请输入一个int型的十进制整数:");
scanf("%d",&i);
printf("请输入要转换的进制:");
scanf("%d",&n);
if(i==0) printf("该数的%d进制数为:0");
else if(n!=0) {printf("\n该数的%d进制数为:",n); f(i,n); }
else printf("输入错误");
printf("\n");
printf("\n");
}
return 0 ;
}
//递归函数
void f(int i,int n)
{ int p;
char bit[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
if(i==0)
return ;
p=i%n;
f(i/n,n);
printf("%c",bit[p]);
}//没有注意到你的char,作用,重新发一份。