Определите, сколько раз в файле повторяетсяся максимальное значение - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Пусть дан файл вещественных чисел. Определите, сколько раз в нем повторяется максимальное значение.

Решение задачи: «Определите, сколько раз в файле повторяетсяся максимальное значение»

textual
Листинг программы
#include <float.h>
//....
 
double max_val = - DBL_MAX, val;
int cnt=0;
FILE* in;
//....
while(1 == fscanf("%lf", &val)) {
    if(val > max_val) {
        max_val = val; cnt = 1;
    }
    else if (val == max_val) {
        ++cnt;
    }
}
fprintf(stdout, "max_val = %lf, cnt = %d", max_val, cnt);

Объяснение кода листинга программы

  1. Включаем заголовочный файл
  2. Объявляем переменные:
    • double max_val = - DBL_MAX;
    • int cnt=0;
    • FILE* in;
  3. В цикле while с условием 1 == fscanf(%lf, &val) считываем из файла в переменную val значения.
  4. Если считанное значение больше максимального, то обновляем max_val и cnt = 1.
  5. Если считанное значение равно максимальному, то увеличиваем cnt на 1.
  6. После окончания цикла выводим значения max_val и cnt на экран.

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы