Считывание чисел из файла и вывод количества чисел, меньших среднего арифметического - C (СИ)
Формулировка задачи:
нужно написать программу которая открывает файл в текстовом режиме считывает числа и вивлдить количество чисел меньших среднее арифметическое. я вроде код написал но выбивает ошибку if statement missing ) через не могу программу запустить вообще
#include <stdio.h> #include <stdlib.h> void function() { int i, sum = 0, mas[5], kil=0; float sera; for (i = 0; i <= 4; i++) { scanf ("%d", &mas[i]); sum += mas[i]; } sera=sum/5; for(i=0; i<4;i++) { if (mas[i] < sera) kil++; } printf("%d", kil); return ; } int main() { FILE *f; if ( f = fopen("LAB922.txt", "r")! = NULL) { function(); } else printf("Nevdalos vidkryty"); fclose(f); return 0; }
Решение задачи: «Считывание чисел из файла и вывод количества чисел, меньших среднего арифметического»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #define FIVE 5 #include <stdio.h> #include <stdlib.h> #include <string.h> void bigger_than_average(FILE* input); int main(void) { FILE *input = NULL; if (!(input = fopen("input.txt", "r"))) { printf("Here is the error while opening input file!"); exit(1); } bigger_than_average(input); return 0; } void bigger_than_average(FILE* input) { char buffer[512]; long int sum = 0, array1[FIVE]; short counter = 0; while (!feof(input)) { fscanf(input, "%s", buffer); sum += array1[counter++] = atol(buffer); } sum /= FIVE; for (int detector = 0; detector < counter; detector++) { if (array1[detector] < sum) printf("%ld\n", array1[detector]); } return; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с файлами и математическими операциями
- Определяем функцию
bigger_than_average
, которая будет сортировать числа по большему значению - Открываем файл
input.txt
в режиме чтения - Если файл не открылся, выводим сообщение об ошибке и завершаем программу
- Вызываем функцию
bigger_than_average
для сортировки чисел - В функции
bigger_than_average
объявляем массивarray1
на пять элементов и инициализируем его нулями - Объявляем переменную
sum
для хранения суммы всех чисел - Объявляем переменную
counter
для отслеживания количества прочитанных чисел - Считываем числа из файла в массив
array1
и суммируем их - Суммируем все числа и делим на пять для получения среднего значения
- Используем цикл
for
для проверки каждого числа на меньшее значение, чем среднее арифметическое - Если число меньше, выводим его на экран
- Завершаем функцию
bigger_than_average
- Закрываем файл
input.txt
- Возвращаем управление в основную программу
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д