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

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

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

Приветствую. Есть такая простая задачка, но не могу разобраться. Суть задачи: Есть текстовый файл с вещественными числами в форме с фиксированной точкой, нужно преобразовать его в файл с вещественными с плавающей точкой с двумя числами в мантиссе. По-идее все просто, но не работает. Считывает числа нормально, а выводит нули или близкие к нему значения. Помогите, что не так? Документацию на printf листал, форум тоже смотрел, не разобрался.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
int schet(int n)
{
    int count = 1;
 
    while (n = n / 10)
        count++;
 
    return count;
}
 
void modifi(FILE *in, FILE *out)
{
    float a, b;
 
    while (!feof(in))
    {
        fscanf(in, "%f", &a);  //тут считывает нормально, видно при пошаговом прогоне кода
        printf("%.2e ", &a);  //тут уже нули
        fprintf(out, "%.2e ", &a);  // и тут нули
    }
}
 
int main()
{

    FILE * in;
    if ((in = fopen("f:\\in.txt", "rt")) == 0) {
        printf("ERROR");
    }
    FILE * out = fopen("f:\\out.txt", "wt");
    modifi(in, out);
 
    _getch();
}

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

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

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

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

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

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


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

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

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