Мне нужно выровнять ряд чисел в 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 ведущих пробела максимум для наибольшего числа. Скажем, мне нужно отображать цифры от 1 до 1000 (A) и от 1 до 100 (B), и я использую для обоих "% 4d", это будет выход:
А:
---1
....
1000
Какой результат я хочу...
В:
---1
....
-100
Что не является результатом, который я хочу, я действительно хочу это:
--1
...
100
Но, как я уже сказал, я не знаю точного количества номеров, которые я должен печатать, он может иметь 1 цифру, он может иметь 2, 3 или более, эта функция должна быть подготовлена для всех. И я хочу четыре дополнительных дополнительных пробела, но это не так важно.
ИЗМЕНИТЬ 2: Кажется, что я хочу, как мне это нужно, это невозможно (проверьте ответы Дэвида Торнли и Бланка Ксавьера и мои комментарии). Спасибо всем за ваше время.