这个代码仅局限于正整数,新人初来,多多关照,谢谢谢谢
#include<stdio.h>
int main()
{
int n;
printf("输入要转化的十进制正整数:");
scanf("%d",&n);
printf("二进制为:");
jinzhi_2(n);
printf("\n");
printf("八进制为:");
jinzhi_8(n);
printf("\n");
printf("十六进制为:");
jinzhi_16(n);
printf("\n");
}
void jinzhi_2(int n)
{
if(n>1){
jinzhi_2(n/2); //简单函数的递归,从递归的最里面开始输出,即可实现余数的逆序输出
}
printf("%d",n%2);
}
void jinzhi_8(int n)
{
if(n>7){
jinzhi_8(n/8);
}
printf("%d",n%8);
}
void jinzhi_16(int n)
{
if(n>15){
jinzhi_16(n/16);
}
printf("%d",n%16);
}