В настоящее время моя программа позволяет пользователю вводить 5 целых чисел, которые используются для создания среднего числа. Это значение равно пяти, поскольку после ввода пятого числа цикл прерывается.
Я пытаюсь реализовать метод, который позволит пользователю продолжать добавлять столько чисел, сколько они захотят, в массив, из которого я могу затем использовать для создания среднего значения без ограничения количества вводимых чисел.
Я столкнулся с несколькими проблемами, во-первых, я не могу создать массив, который является диамическим, поскольку я понятия не имею, сколько чисел пользователь может ввести, что означает, что я не могу дать ему определенный размер.
Во-вторых, способ, которым моя программа в настоящее время создает среднее значение, заключается в циклическом прохождении элементов в массиве и последовательном добавлении к целому числу, из которого получается среднее значение. Я не могу указать предел продолжительности цикла, если не могу определить массив.
Надеюсь, мой пример объясняет это лучше.
#include <stdio.h>
#include <string.h>
void main()
{
int i = 0;
int arrayNum[5];
int temp = 1;
int anotherTemp = 0;
int answer = 0;
printf("Enter as many numbers as you like, when finished enter a negative number\n");
for(i = 0; i < 5; i++)
{
scanf("%d", &temp);
arrayNum[i] = temp;
anotherTemp = anotherTemp + arrayNum[i];
}
answer = anotherTemp / 5;
printf("Average of %d,%d,%d,%d,%d = %d",arrayNum[0],arrayNum[1],arrayNum[2],arrayNum[3],arrayNum[4],answer);
}
Хотя это может быть не самый лучший способ его реализации, он работает, когда количество чисел указано заранее.
Каков наилучший способ обойти это и позволить пользователю ввести столько цифр, сколько необходимо?
Редактировать: Хотя мне нужно было использовать массив, я решил, что в этом нет необходимости, поскольку решение намного проще, не ограничиваясь им.