Ok, rzeczywiście dla 0 powinno wyświetlić się 0. Dzięki, kod usunięty.
PS
Dlaczego jak widzisz w kodzie taki kawałek:
if(n<0 || n>1000000)
exit(0);
to od razu scyzoryk otwiera Ci się w kieszeni?
Rozumiem, że w zadaniu jest określony przedział, więc taki warunek nie jest tu potrzebny, ale dlaczego uważasz to za błąd?