Вывод чисел с заданной точностью - C (СИ)
Формулировка задачи:
В коде программы вводится точность с которой нужно посчитать значение функции. То есть если точность равна 1, то выводятся только целые числа. Точность вводится в виде переменной eps и значения типа 0.01 нужно выводить значение функции с количеством знаков после запятой, равным количеству знаков после запятой у eps.
Решение задачи: «Вывод чисел с заданной точностью»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main()
{
int n;
double eps = 0.01;
double val = 1.2345;
for ( n = 0; floor( eps ) <= 0; eps *= 10, n++ );
printf( "%.*f\n", n, val );
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем переменные: n (целое число), eps (точность), val (значение)
- Задаём начальное значение точности eps равное 0.01
- Задаём начальное значение переменной val равное 1.2345
- Запускаем цикл for, который будет выполняться до тех пор, пока значение точности eps не станет меньше или равным нулю
- Внутри цикла увеличиваем значение точности eps на порядок (10) и увеличиваем счётчик n на единицу
- После выхода из цикла, выводим значение переменной val с точностью до n знаков после запятой
- Возвращаем 0, чтобы указать, что программа успешно завершилась