while (scanf_s("%lf", &number) == 1)
{
numSet[size] = number;
size++;
}
вместо этого используйте
while (scanf_s("%lf", &number) == 1 && size <= 1000)
{
numSet[size] = number;
size++;
}
Ваш цикл идет бесконечно, потому что у него нет символа завершения.scanf_s
только читает значение с клавиатуры и имеет другой параметр для установки максимального значения буфера ввода, что полезно для ограничения вашего ввода.
Что вы можете сделать, это либо прочитать размер у пользователя, прежде чем позволить ему ввести значения, либоВы можете каждый раз спрашивать, хочет ли пользователь добавить дополнительные значения в массив или нет.
, например:
char option = 'Y';
while ( (scanf_s("%lf", &number) == 1 && option == 'Y'){
// code to enter a new number
printf("Do you want to add more numbers? (Y/N) ");
scanf("%c", &option);
}
Кроме того, функция scanf_s
возвращает количество проверенных значений.и каждый раз равен 1, так как вы всегда принимаете одно двойное значение.
Так что даже если вы удалите его, это не доставит особых хлопот.