Файлы. Определить среднее арифметическое положительных чисел и записать в другой файл результат - C (СИ)

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

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

Написала программу, она компилируется, но не даёт результат (текстовые файлы я создала). Помогите, пожалуйста
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
FILE *f, *f1;
int main()
{int x, q=0,  sum=0;
double l;
f=fopen("D:\\TextFile", "rt");
f1=fopen("D:\\rez", "wt");
if(f == NULL)
        {
          printf("Problems");
          system("pause");
          return 1;
        }
if (fscanf(f,"%d",&x)>0)  
{sum+=x;
q+=1;
l=sum/q;
}

fprintf(f1," %3lf",l); 
fclose(f); 
fclose(f1); 
 
return 0; 
}

Решение задачи: «Файлы. Определить среднее арифметическое положительных чисел и записать в другой файл результат»

textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
FILE *f, *f1;
int main()
{
    int x;
    double q = 0, sum = 0, l;
    f = fopen("1.txt", "rt");
    f1 = fopen("2.txt", "wt");
    if(f == NULL)
        {
          printf("Problems");
          system("pause");
          return 1;
        }
    while(fscanf(f,"%d",&x) != EOF) //будет продолжать считывать до пробела, пока не встретит конец файла
    {
        if(x > 0)
        {
            sum += x;
            q += 1;
            l = sum/q;
        }
    }
    fprintf(f1, "%3lf", l); 
    fclose(f); 
    fclose(f1); 
    return 0; 
}

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

  1. Включаются необходимые заголовочные файлы
  2. Объявляются необходимые переменные: x (целое число), q (число с плавающей точкой), sum (число с плавающей точкой), l (число с плавающей точкой), f и f1 (указатели на файлы)
  3. Открывается файл 1.txt для чтения и файл 2.txt для записи
  4. Проверяется, открылся ли файл 1.txt успешно. Если нет, выводится сообщение об ошибке и программа завершается
  5. Начинается цикл, который будет считывать числа из файла 1.txt до тех пор, пока не встретит конец файла
  6. Если считанное число больше нуля, оно добавляется к сумме и к количеству чисел, а также вычисляется среднее арифметическое
  7. После окончания цикла, среднее арифметическое записывается в файл 2.txt
  8. Файлы закрываются
  9. Программа завершается

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

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