Вывести массив чисел от младшей цифры до самой старшей? - PullRequest
0 голосов
/ 23 декабря 2009
8 | *
7 | *
6 | *
5 | *
4 | * *
3 |* * * * * *
2 |* * * * *** ** * *
1 |* * *** ****** **** * *
+---------------------------
   012345678901234567890123456
             11111111112222222

как бы вы печатали числа от наименее значимых цифр до самых значащих цифр (например, чисел, показанных на оси х)? Спасибо

Ответы [ 2 ]

2 голосов
/ 23 декабря 2009

Введите число в темп.

Следующая цифра для печати - темп% 10

Разделите 10 на темп.

Если temp не равен 0, повторите предыдущие два шага.

0 голосов
/ 23 декабря 2009

Печать с LSD на MSD на самом деле проще, чем наоборот. Причина в том, что метод остатка / деления для извлечения цифр числа производит наименее значимое перед самым значимым.

if (i == 0)
    output_digit(0)
else
    while (i != 0)
        output_digit(i % base)
        i = i / base

Это выведет цифры в нужном вам порядке. Для базы 10 число 123 сначала выведет 3, затем 2 и, наконец, 1.

...