Мне нужно выровнять ряд чисел в C с помощью printf () , как в этом примере:
-------1
-------5
------50
-----100
----1000
Конечно, между всеми этими числами есть цифры, но это не относится к рассматриваемой проблеме ... О, рассмотрите тире как пробелы, я использовал тире, чтобы было легче понять, что я хочу.
Я могу это сделать только:
----1---
----5---
----50--
----100-
----1000
Или это:
---1
---5
--50
-100
1000
Но ничего из этого я не хочу, и я не могу добиться того, что показано в первом примере, используя только printf (). Возможно ли это вообще?
EDIT:
Извините, я спешил и плохо объяснил себя ... Мой последний пример и все ваши предложения (использовать что-то вроде "% 8d") не работают, потому что, хотя последнее число равно 1000, это не так обязательно пройти весь путь до 1000 или даже 100 или 10 в этом отношении.
Независимо от количества отображаемых цифр, я хочу, чтобы самое большее 4 пробела было не более 4 пробелов. Допустим, мне нужно отобразить цифры от 1 до 1000 (A) и от 1 до 100 (B), и я использую для обоих «% 4d» это будет вывод:
A:
---1
....
1000
Какой вывод я хочу ...
B
---1
....
-100
Что не является выводом, который я хочу, я на самом деле хочу это:
--1
...
100
Но, как я уже сказал, я не знаю точное число цифр, которые я должен напечатать, он может иметь 1 цифру, он может иметь 2, 3 или более, функция должна быть подготовлена для всех. И я хочу еще четыре дополнительных пробела, но это не так важно.
РЕДАКТИРОВАТЬ 2:
Кажется, что то, что я хочу, так, как мне это нужно, невозможно (проверьте ответы Дэвида Торнли и Бланка Ксавьера и мои комментарии). Спасибо всем за ваше время.