Как перевести число в массив цифр на C?

Пользователь

от terrence , в категории: C/C++ , 7 месяцев назад

Как перевести число в массив цифр на C?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от cierra , 7 месяцев назад

@terrence 

Чтобы перевести число в массив цифр на языке C, можно использовать следующий алгоритм:

  1. Определить размер массива, необходимого для хранения цифр числа. Для этого можно использовать функцию log10() из библиотеки math.h. Размер массива будет равен результату log10() плюс один (для случая, когда число является целым).
  2. Создать массив указанного размера и заполнить его цифрами числа. Для этого можно использовать операцию деления на 10 и взятия остатка от деления на 10.


Вот пример кода на языке C, реализующий описанный алгоритм:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <math.h>

int main() {
    int number = 123456789;
    int size = (int)log10(number) + 1;
    int digits[size];
    
    for (int i = 0; i < size; i++) {
        digits[i] = number % 10;
        number /= 10;
    }
    
    for (int i = size - 1; i >= 0; i--) {
        printf("%d ", digits[i]);
    }
    
    return 0;
}


В этом примере мы сначала определяем размер массива, необходимого для хранения цифр числа, затем создаем массив указанного размера и заполняем его цифрами числа. Наконец, мы выводим цифры на экран в обратном порядке, используя цикл for.