È normalissimo C... cosa non ti torna?
---EDIT---
Avevo inserito una parola chiave C++ per errore (true), ora l'ho rimossa, adesso è C puro.
---RIEDIT---
Una versione con qualche piccola miglioria "estetica" e con controllo della validità dell'input:
codice:
#include <stdio.h>

int main(void)
{
    int inputN, first1=0, counter;
    printf("Inserisci il numero: ");
    if(scanf("%d",&inputN)==0)
    {
        fputs("Valore non valido.\n",stderr);
        return 1;
    }
    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');
    }
    putchar('\n');
    return 0;
}