Вывод числа с плавающей точкой - 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); // и тут нули
Объяснение кода листинга программы
В данном коде происходит вывод числа с плавающей точкой в формате научной нотации с двумя знаками после запятой. Список действий следующий:
- printf или fprintf вызывается для вывода числа с плавающей точкой.
- %.2e - это форматная строка, которая указывает как должен выглядеть вывод числа. %.2e означает, что число должно быть представлено в формате научной нотации с двумя знаками после запятой.
- a - это переменная, значение которой будет выводиться. Вывод:
- printf или fprintf вызывается для вывода числа с плавающей точкой.
- %.2e - это форматная строка, которая указывает как должен выглядеть вывод числа. %.2e означает, что число должно быть представлено в формате научной нотации с двумя знаками после запятой.
- a - это переменная, значение которой будет выводиться. Следовательно, в данном коде происходит вывод числа с плавающей точкой в формате научной нотации с двумя знаками после запятой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д