Найдите количество элементов в массиве состоящим из вещественных чисел - C (СИ)
Формулировка задачи:
Найдите количество элементов в массиве А[1..10] состоящим из вещественных чисел, абсолютная величина которых больше 7.
Входной файл (input.txt) будет содержать 10 вещественных чисел, по одному в каждой строке. Выходной файл должен содержать единственное число - ответ. Язык С
Решение задачи: «Найдите количество элементов в массиве состоящим из вещественных чисел»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> #define MAXLINE 100 /* максимальный размер вводимой строки */ int main() { char str[MAXLINE]; unsigned short q=0; FILE* fp = fopen("D:\list.txt", "r"); // вместо "D:\list.txt" вставьте свой путь, r - read mode if(!fp) { perror("File opening failed"); return EXIT_FAILURE; } while(!feof(fp)) { if (fabs( atof(fgets(str,80,fp))) > 7) q++; if (ferror(fp)){ puts("I/O error when reading"); return -1; } } fclose(fp); printf("\n q= \%d",q); }
Объяснение кода листинга программы
Вывод кода:
- Объявлены необходимые библиотеки
- Определено максимальное количество символов в строке
- Объявлены переменные: строка для чтения и счетчик
- Открывается файл для чтения
- Проверяется успешность открытия файла
- Если файл не открылся, выводится сообщение об ошибке и возвращается код завершения
- Запускается цикл чтения файла до достижения конца файла
- Внутри цикла проверяется каждая строка на предмет наличия в ней числа, которое берется в расчет (больше 7)
- Если при чтении файла произошла ошибка, выводится сообщение об ошибке и возвращается код завершения
- Закрывается файл
- Выводится количество найденных чисел Пояснение к коду:
- Код использует функцию
fopen
для открытия файла. Эта функция возвращает указатель на файл, если файл успешно открыт, иначе возвращаетNULL
. - Проверка
!feof(fp)
в цикле while гарантирует, что цикл будет выполняться до тех пор, пока не достигнут конец файла. - Функция
fgets
используется для чтения строки из файла. Эта функция считывает строку, оставляя символ новой строки в конце строки. - Функция
atof
используется для преобразования строки в число с плавающей точкой. - Функция
ferror
используется для проверки наличия ошибок при чтении файла. - Функция
printf
используется для вывода количества найденных чисел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д