Co jest nie tak w tym kodzie, powinno wypisac liczby losowe, a wypisuje tylko jedna liczbe:
int ile;
scanf("%d", &ile);
int* arr = (int*)malloc(sizeof(int) * ile);
srand(time(NULL));
for (int i = 0; i < ile; ++i)
arr[ile] = rand() % 1000000;
for (int i = 0; i < ile; ++i)
printf("%d ", arr[ile]);