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



