Puoi ottenere le cifre binarie direttamente nell'ordine giusto cambiando approccio...
codice:
#include <stdio.h>

int main(void)
{
    int inputN, first1=0, counter;
    printf("Inserisci il numero: ");
    scanf("%d",&inputN);
    if(inputN<0)
    {
        putchar('-');
        inputN=-inputN;
    }
    for(counter=sizeof(inputN)*8;counter;counter--)
    {
        if(inputN&(1<<(counter-1)))
        {
            first1=1;
            putchar('1');
        }
        else if(first1)
            putchar('0');
    }
    return 0;
}