输入一个十进制数,用程序将其变换成二进制数和八进制数

输入一个十进制数,用程序将其变换成二进制数和八进制数

循环转化即可

循环转化即可
#include<stdio.h>
void showbit(int n)
{    
 if(n>1){
        showbit(n/2);
        printf(" ");
    }
    printf("%d",n%2);
}
void showoct(int n)
{    
 if(n>7){
        showoct(n/8);
        printf(" ");
    }
    printf("%d",n%8);
}
void showhex(int n)
{
    if(n>15){
        showhex(n/16);
        printf(" ");
    }
    printf("%d",n%16);
}
int main()
{
    int a;
    printf("input a num:");
    scanf("%d",&a);
    showbit(a);
    printf("\n");
    showoct(a);
    printf("\n");
    showhex(a);
    printf("\n");
}


循环转化即可 #include<stdio.h> void showbit(int n) {
if(n>1){ showbit(n/2); printf(" "); } printf("%d",n%2); } void showoct(int n) {
if(n>7){ showoct(n/8); printf(" "); } printf("%d",n%8); } void showhex(int n) { if(n>15){ showhex(n/16); printf(" "); } printf("%d",n%16); } int main() { int a; printf("input a num:"); scanf("%d",&a); showbit(a); printf("\n"); showoct(a); printf("\n"); showhex(a); printf("\n"); }

#include "stdio.h" #include "conio.h" #include "string.h" void main() { int i,radix; long n; char a[33]; void trans10_2_8_16(char a[],long m,int base); printf("\nInput radix(2,8,16):"); scanf("%d",&radix); printf("\nInput a positive integer:"); scanf("%ld",&n); trans10_2_8_16(a,n,radix); for(i=strlen(a)-1;i>=0;i--) printf("%c",*(a+i)); puts("\n"); getch(); }

void trans10_2_8_16(char a[],long m,int base) { int r; while(m>0) { r=m%base; if(r<10) *a=r+48; else *a=r+55; m=m/base; a++; } *a='\0';