В C вам нужно указать размеры ваших массивов, например, с помощью float nu[100];
, но вы ошибаетесь, если не хотите хранить все эти значения. Минимум, максимум и сумма могут быть рассчитаны на лету без необходимости возвращаться и извлекать любые предыдущие числа.
Все, что вам нужно сделать, это ввести их по одному и для каждого:
- если это первое или большее значение текущего максимума, установите для него максимальный ток.
- если это первое или меньшее значение текущего минимума, установите для него текущий низкий уровень.
- добавить его к сумме.
Между прочим, сумму следует инициализировать нулем, чтобы начать с.
В терминах псевдокода, начните с этого:
set sum, high and low all to zero
scan "number of values" into count
for curr = one to count, inclusive:
scan "current number" into num
set sum to sum + num
if curr is one, or num is less than low:
set low to num
if curr is one, or num is greater than high:
set high to num
output "Minimum = " low
output "Maximum = " high
output "Sum = " sum
И лучший способ понять это - взять лист бумаги (очень нетехнический) и составить таблицу, подобную этой:
+-----+------+-----+-----+-------+------+
| sum | high | low | num | count | curr |
+-----+------+-----+-----+-------+------+
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
+-----+------+-----+-----+-------+------+
Затем пошагово запустите эту программу через свою голову, вводя или изменяя значения в этой таблице по мере продвижения. Вы даже сможете обнаружить, когда используете неинициализированные значения, например, если вы столкнулись с set sum to sum + curr
, если столбец sum
был пустым.
Вы будете удивлены, как быстро вы начнете думать, как компьютер, просто надеюсь, что он не вытеснит все эти социальные навыки из головы: -)