Вывод числа с плавающей точкой - C (СИ)

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

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

Приветствую. Есть такая простая задачка, но не могу разобраться. Суть задачи: Есть текстовый файл с вещественными числами в форме с фиксированной точкой, нужно преобразовать его в файл с вещественными с плавающей точкой с двумя числами в мантиссе. По-идее все просто, но не работает. Считывает числа нормально, а выводит нули или близкие к нему значения. Помогите, что не так? Документацию на printf листал, форум тоже смотрел, не разобрался.
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. int schet(int n)
  5. {
  6. int count = 1;
  7. while (n = n / 10)
  8. count++;
  9. return count;
  10. }
  11. void modifi(FILE *in, FILE *out)
  12. {
  13. float a, b;
  14. while (!feof(in))
  15. {
  16. fscanf(in, "%f", &a); //тут считывает нормально, видно при пошаговом прогоне кода
  17. printf("%.2e ", &a); //тут уже нули
  18. fprintf(out, "%.2e ", &a); // и тут нули
  19. }
  20. }
  21. int main()
  22. {
  23.  
  24. FILE * in;
  25. if ((in = fopen("f:\\in.txt", "rt")) == 0) {
  26. printf("ERROR");
  27. }
  28. FILE * out = fopen("f:\\out.txt", "wt");
  29. modifi(in, out);
  30. _getch();
  31. }

Решение задачи: «Вывод числа с плавающей точкой»

textual
Листинг программы
  1.         printf("%.2e ", a);  //тут уже нули
  2.         fprintf(out, "%.2e ", a);  // и тут нули

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

В данном коде происходит вывод числа с плавающей точкой в формате научной нотации с двумя знаками после запятой. Список действий следующий:

  1. printf или fprintf вызывается для вывода числа с плавающей точкой.
  2. %.2e - это форматная строка, которая указывает как должен выглядеть вывод числа. %.2e означает, что число должно быть представлено в формате научной нотации с двумя знаками после запятой.
  3. a - это переменная, значение которой будет выводиться. Вывод:
  4. printf или fprintf вызывается для вывода числа с плавающей точкой.
  5. %.2e - это форматная строка, которая указывает как должен выглядеть вывод числа. %.2e означает, что число должно быть представлено в формате научной нотации с двумя знаками после запятой.
  6. a - это переменная, значение которой будет выводиться. Следовательно, в данном коде происходит вывод числа с плавающей точкой в формате научной нотации с двумя знаками после запятой.

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


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

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

6   голосов , оценка 4 из 5

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

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

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