Файлы. Определить среднее арифметическое положительных чисел и записать в другой файл результат - 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;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Объявляются необходимые переменные: x (целое число), q (число с плавающей точкой), sum (число с плавающей точкой), l (число с плавающей точкой), f и f1 (указатели на файлы)
- Открывается файл
1.txt
для чтения и файл2.txt
для записи - Проверяется, открылся ли файл
1.txt
успешно. Если нет, выводится сообщение об ошибке и программа завершается - Начинается цикл, который будет считывать числа из файла
1.txt
до тех пор, пока не встретит конец файла - Если считанное число больше нуля, оно добавляется к сумме и к количеству чисел, а также вычисляется среднее арифметическое
- После окончания цикла, среднее арифметическое записывается в файл
2.txt
- Файлы закрываются
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д