Си. Как вывести переменное количество цифр после запятой?

К примеру, я пишу программу для подсчёта некоторых функций через ряды Тейлора (рассмотрим на примере экспоненты). При этом я прошу пользователя ввести необходимую ему погрешность. Сама функция в double округляет до 6 знаков, причем всегда. Как сделать так, чтобы она выводила k число знаков после запятой?

main

functions


Ответы (2 шт):

Автор решения: Igor

Скомпоновать первый параметр для printf (формат) динамически.

→ Ссылка
Автор решения: Sergey

Модификаторы минимальной ширины поля и точности можно передавать функции printf() не как константы, а как аргументы.

Для этого в качестве заполнителя используйте звездочку (*). При сканировании строки формата функция printf() будет каждой звездочке * из этой строки ставить в соответствие очередной аргумент, причем в том порядке, в каком расположены аргументы. Пример:

int main(void)
{
  int w,p;
  float work = 1234.5678;
  
  printf ("Введите ширину поля: "); scanf("%d", &w);
  printf ("Введите точность   : "); scanf("%d", &p);

  printf("%*.*f\n", w, p, work);

  return 0;
}
→ Ссылка