Считать вещественные числа из .txt файла - C (СИ)

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

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

Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main()
  4. {
  5. int k,i;
  6. FILE *ptrfile;
  7. k=0;
  8. double s;
  9. ptrfile=fopen("C:\\Users\\users\\Desktop\\mass.txt","r+");
  10. while ((fscanf(ptrfile, "%g",&s)!=EOF))
  11. { if(!ptrfile) break;
  12. k+=1;
  13. }
  14. double c[1000];
  15. rewind(ptrfile);
  16. for(i=0;i<k;i++)
  17. {
  18. fscanf(ptrfile, " %g",&c[i]);
  19. printf("c[%d]=%g ",i,c[i]);
  20. }
  21. fclose(ptrfile);
  22. free(c);
  23. getchar();
  24. return 0;
  25. }
Программа выводит неправильные числа в экспоненциальной форме.

Решение задачи: «Считать вещественные числа из .txt файла»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int k,i;
  7. FILE *ptrfile;
  8. k=0;
  9. float s;
  10. ptrfile=fopen("input.txt","r");
  11.  
  12. while ((fscanf(ptrfile, "%f",&s)!=EOF))
  13. {    if(!ptrfile) break;
  14.         k+=1;
  15. }
  16. float c[1000];
  17.  
  18. rewind(ptrfile);
  19. for(i=0;i<k;i++)
  20. {
  21.     fscanf(ptrfile, " %f",&c[i]);
  22.     printf("c[%d]=%g  ",i,c[i]);
  23. }
  24. fclose(ptrfile);
  25. getchar();
  26. return 0;
  27. }

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

В этом коде:

  1. Включаются необходимые заголовочные файлы.
  2. Определяются переменные:
    • k - счётчик;
    • i - счётчик;
    • ptrfile - указатель на файл;
    • s - переменная для чтения вещественных чисел из файла.
  3. Открывается файл input.txt для чтения.
  4. В цикле while с помощью функции fscanf считываются вещественные числа из файла и сохраняются в переменной s.
  5. Если файл закончился, то условие while прекращается.
  6. Выделяется память под массив из 1000 элементов типа float.
  7. В цикле for с помощью функции fscanf считываются вещественные числа из файла и сохраняются в соответствующем элементе массива c.
  8. Каждое считанное число выводится на экран.
  9. Файл закрывается.
  10. Ожидается нажатие любой клавиши.
  11. Программа возвращает 0, что означает успешное завершение.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы