Форматирование для printf - PullRequest
0 голосов
/ 07 февраля 2019

У меня возникла проблема, когда я должен был найти факторы чисел 1 - 20. Это я выполнил, но в примере мне дали консоль, если она отформатирована так, чтобы она была визуально привлекательной.Вот пример, который мне дали.Белые коробки были там, потому что я должен был найти ответы сам.Так что это можно игнорировать.

Correct Example

А вот как выглядит моя.

My Example

Нас ничему не училикроме printf, поэтому я не знаю альтернатив.

Вот мой код.

long long lngFactoral = 1;
int intNumber = 1;

for (int intIndex = 1; intIndex <= 20; intIndex ++ )
{
    lngFactoral = lngFactoral * intIndex;
    printf("%d! = %lli ", intIndex, lngFactoral);

    intIndex++;

    lngFactoral = lngFactoral * intIndex;
    printf("                          %d! = %lli \n", intIndex, lngFactoral);
}

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете установить ширину поля в printf.Вы должны будете указать ширину с помощью спецификатора формата, используя целочисленное значение, которое устанавливает ширину поля.Например, «% 5d» или «% 10d».

Если значение для печати короче этого числа, результат дополняется пробелами.

В вашем случае ваш случайВы можете изменить printf следующим образом:

Первый оператор printf:

 printf("%2d! = %20lli ", intIndex, lngFactoral);

Второй оператор printf:

printf("   %2d! = %20lli \n", intIndex, lngFactoral);

%2d с левой стороны, потому что вы находите факториал только из 2 цифр, поэтому мы собираемся установить ширину поля 2.

Аналогично, %20d используется с правой стороныпотому что факториал наибольшего числа 20 никогда не будет превышать 20 цифр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...