Ciao, hai molteplici soluzioni per avere una successione di numeri dispari, la più banale è partire da 1 e aggiungere di volta in volta 2.
1
1 + 2 = 3
3 + 2 = 5
5 + 2 = 7
etc etc...
A questo punto ti serve solo una strategia per pescare i primi N numeri dispari, ad esempio:
int dispari= 1;
int sum = 1;
for( i = 0; i < 5; i++){ //diciamo che vuoi i primi 5 numeri
dispari = dispari + 2;
sum = sum + dispari;
}
printf("Il quadrato di 5 e' : %d", sum);
Oppure
int sum = 0;
for(i = 1; i < N*2; i+=2) sum = sum + i;
printf("Il quadrato di N e' : %d", sum);
Tornando alla tua soluzione, l'errore è che non prendevi i primi N numeri dispari ma i primi N*N-1 numeri dispari: per fare ciò devi prendere i primi N*2 numeri interi e considerare solo i dispari, quindi teoricamente la metà, di conseguenza avrai N numeri dispari.