Вывод в поля заданной ширины

При выводе чисел и строк с помощью функции printf() можно указать количество знакомест для вывода. Например код

#include <stdio.h>
 
main() {
  printf("%4d\n", 5);
  printf("%4d\n", 500);
}

выведет числа так:

   5
 500

Если бы в формате вывода не было чисел 4, то вывод выглядел бы так:

5
500

Когда указывается ширина поля, то по умолчанию данные выравниваются по правому краю. Это очень удобно, т.к. в этом случае при выводе целых чисел единицы оказываются под единицами, десятки под десятками и т.д. Однако если все же необходимо произвести выравнивание по левому краю, то это достигается с помощью знака минуса перед числом-количеством знакомест. Пример:

  printf("%-10sworld!\n", "Hello");
  printf("%-10sworld!\n", "Hi");
Hello     world!
Hi        world!

В языке программирования C существует несколько форматов вывода вещественных чисел. Наиболее распространенный - "%f". По умолчанию он выводит шесть знаков после запятой. Однако можно указать желаемое количество знакомест (через точку перед буквой f), а также ширину поля (до точки) и, если необходимо, выравнивание (знак минуса):

  printf("%f\n", 0.145);
  printf("%.3f\n", 0.1234567);
  printf("%10.3f\n", 0.1234567);
0.145000
0.123
     0.123

Создано