Hayırlı geceler değerli wmaracı sakinleri bir algoritma oluşturmaya çalıştım çok iyi olmadığım için tıkanıp kaldım yardım ederseniz sevinirim

Soru şu: int a[] = {4, 8, 3, 1, 18, 9, 21, 20, 5, 17} klavyeden 10 dan küçük n tam sayısı giriliyor dizinin ilk n adet elemanınını dizinin sonuna atayan
ve baştaki indislere 0 atayan program (Dizi Sabit Dizi)
örnek n = 7
0 0 0 4 8 3 1 18 9 21

benim yazdığım kod şu #include
#define SIZE 10

int main() {
int n,i,j=0;
int a[] = {4, 8, 3, 1, 18, 9, 21, 20, 5, 17}
printf("Bir Sayı Giriniz: ");
scanf("%d", & n);

for(i=0 ; i if(i<10-n){
a[i] = 0;
}
else {
a[i] = j;
}
}
for(i=0; i printf("a[%d] = %d \n", i, a[j]);


return 0;
}


nasıl yapacağım nereyi düzenleyeceğim ilgilenenlere teşekkür ederim