Как написать программу через функцию? - C (СИ)
Формулировка задачи:
#include <stdio.h>
int main()
{
int *a, i;
double sum = 0, arithmeticAverage = 0;
int size = 0;
printf("Enter the array size:");
scanf("%d", &size);
a = malloc(size * sizeof(int));
printf("The given array:\n");
for (i = 0; i < size; i++) {
scanf("%d", &a[i]);
sum += a[i];
}
arithmeticAverage = sum / size;
printf("\nThe arithmetic average is: %.0f:\n", arithmeticAverage);
printf("Array after the transformation:\n");
for (i = 0; i < size; i++) {
if (a[i] > arithmeticAverage)
a[i] = 0;
printf("%3d ", a[i]);
}
printf("\n");
return 0;
}Решение задачи: «Как написать программу через функцию?»
textual
Листинг программы
double mean(const double * array, const size_t count) {
double sum = 0.;
size_t i;
for ( i = 0; i < count; ++i )
sum += array[i];
return sum / (double) count;
}
Объяснение кода листинга программы
- В данном коде представлена функция с именем mean, которая вычисляет среднее значение массива чисел.
- Функция принимает два аргумента: указатель на массив чисел и количество элементов в этом массиве.
- Внутри функции объявлены две переменные: sum и i.
- Переменная sum инициализируется значением 0. и используется для хранения суммы всех элементов массива.
- Переменная i используется для контроля цикла.
- Цикл for выполняется от 0 до count-1, то есть для каждого элемента массива.
- Внутри цикла каждый элемент массива прибавляется к переменной sum.
- После выполнения цикла, функция возвращает значение переменной sum, деленное на count.
- Для избежания ошибки деления на ноль, используется приведение типа к double.
- Возвращаемое значение функции является средним значением массива.