2016-04-15 2 views
-1

Моя цель состоит в том, чтобы преобразовать целое число:Извлечение каждой цифры целого числа в массив?

int = 1234; 

в массив:

int converted[] = {1,2,3,4}; 

Можете ли вы дать мне совет, что мне будет нужно для программирования этого?

+0

@Roux это близко, но наоборот. Должны дать ОП некоторые идеи. –

+0

Грубо говоря: преобразуйте его в строку с помощью 'itoa' или' sprintf', затем сканируйте строку. –

ответ

1

предполагается, что ваш номер без знака, вы можете попробовать следующее:

unsigned int i = 1234 ; 
char array[5] ; 

for(int j=0 ; i>0 ; j++, i/=10) 
    array[5-j] = (char)(i%10) ; 

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

Если вы хотите на самом деле массив, содержащий ASCII-представления цифр (например, 1234 -> {'1', '2', '3', '4'}), вы должны заменить последнюю строку выше с

array[5-j] = (char)(i%10)+'0' ; 
Смежные вопросы