In realtà per "mangiare" il whitespace (newline incluso) dovrebbe bastare
codice:
scanf("%d ", &N);
(nota lo spazio dopo il %d)