Вывод среднего значения
На этом заключительном шаге мы переработаем код, создав функцию для вычисления и вывода среднего значения, что сделает нашу программу более модульной и читаемой.
Откройте существующий файл:
cd ~/project
nano mean_calculation.c
Обновите код, добавив отдельную функцию для вычисления среднего значения:
#include <stdio.h>
#define MAX_SIZE 100
// Функция для вычисления и вывода среднего значения
void calculateMean(int numbers[], int count) {
if (count <= 0) {
printf("Ошибка: Нет чисел для вычисления среднего.\n");
return;
}
int sum = 0;
float mean;
// Вычисление суммы
for (int i = 0; i < count; i++) {
sum += numbers[i];
}
// Вычисление среднего значения
mean = (float)sum / count;
// Вывод подробной статистики
printf("\nСтатистика:\n");
printf("Количество элементов: %d\n", count);
printf("Сумма чисел: %d\n", sum);
printf("Среднее значение чисел: %.2f\n", mean);
}
int main() {
int numbers[MAX_SIZE];
int count;
// Запрос количества элементов у пользователя
printf("Введите количество элементов (максимум %d): ", MAX_SIZE);
scanf("%d", &count);
// Валидация ввода
if (count <= 0 || count > MAX_SIZE) {
printf("Неверное количество элементов!\n");
return 1;
}
// Ввод чисел в массив
printf("Введите %d чисел:\n", count);
for (int i = 0; i < count; i++) {
printf("Введите число %d: ", i + 1);
scanf("%d", &numbers[i]);
}
// Вывод введенных чисел
printf("\nВведенные числа:\n");
for (int i = 0; i < count; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
// Вычисление и вывод среднего значения
calculateMean(numbers, count);
return 0;
}
Компилируем программу:
gcc mean_calculation.c -o mean_calculation
Запускаем программу:
./mean_calculation
Пример вывода:
Введите количество элементов (максимум 100): 4
Введите 4 числа:
Введите число 1: 10
Введите число 2: 20
Введите число 3: 30
Введите число 4: 40
Введенные числа:
10 20 30 40
Статистика:
Количество элементов: 4
Сумма чисел: 100
Среднее значение чисел: 25.00
Основные улучшения в этой версии:
- Создана отдельная функция
calculateMean()
- Добавлена более подробная статистическая информация
- Улучшена обработка ошибок для граничных случаев
- Сохранена основная функциональность предыдущих шагов
- Код стал более модульным и удобным для чтения
Программа демонстрирует:
- Функциональный подход к вычислениям
- Полноценный вывод статистической информации
- Модульное проектирование кода