Я пытаюсь создать такой код, чтобы он попросил пользователя ввести размер массива для заполнения случайным числом от 0 до 1000.C-программирование - рекурсия для заполнения массива
Моя попытка:
#include <stdio.h>
int main()
{
int p = 0;
int s;
int aRRay[1001];
printf("\n Enter size of an array to fill random numbers: ");
scanf("%i",s);
printf("%i",fillArray(aRRay,p,s));
}
int fillArray(int aRRay[],int p, int s)
{
srand((unsigned)time(NULL));
int ran = rand()%1001;
aRRay[p] = ran;
if(p>s)
{
return 0;
}
else
{
return fillArray(aRRay,++p,s);
}
}
Этот код аварии. Я не уверен, поставил ли я последний вывод printf в главном не в том месте. Вместо того, чтобы помещать его в основную часть, могу ли я поместить его в функцию fillArray и использовать рекурсию для распечатки один за другим?
scanf («% i», & s) может быть хорошим началом – Alexis
Во-первых, зачем рекурсия? В чем проблема с итерацией? Во-вторых, 'srand (time)' будет делать следующее: rand() 'возвращает одно и то же значение почти каждый раз (« время »имеет разрешение 1 секунду). Наконец, не 'fillArray' всегда возвращает 0? – Skizz