数制转换(二进制与十进制)

通过栈实现后进先出

#include
int main()
{
    int n,k=0;
    int stack[100];
    scanf("%d",&n);
    while(n)
    {
        stack[k++]=n%2;
        n/=2;
    }
    for(int i=k-1;i>=0;i--)
    {
        printf("%d",stack[i]);
    }
}

递归实现

#include
void convert(int n)
{
    if(n==0) return;
    convert(n/2);
    printf("%d",n%2);
}
int main()
{
    int n;
    scanf("%d",&n);
    convert(n);
    return 0;
}

你可能感兴趣的:(数制转换(二进制与十进制))