这个代码仅局限于正整数,新人初来,多多关照,谢谢谢谢
#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);
}