Записать число в массив по цифре - C (СИ)
Формулировка задачи:
Как запихнуть число в массив по цифре? к примеру 127 по числам 1.2.7
Решение задачи: «Записать число в массив по цифре»
textual
Листинг программы
#include <stdio.h>
#include <locale.h>
#define N 10
int main(void)
{
setlocale(LC_ALL, "ru");
int n,c,A[N]={0},i=N-1,j=0;
printf("Введите число: \n");
scanf("%d",&n);
while(n){
c=n%10;
A[i]=c;
i--;
n/=10;
}
for(i=0;i<10;i++)
{
if(A[i]!=0){A[j]=A[i];A[i]=0; j++;}
}
for(i=0;i<10;i++)printf("A[%d] = %d\n",i,A[i]);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с локалью и вводом-выводом
- Определение размера массива N
- Инициализация массива A нулями и инициализация переменных n, c, i, j
- Ввод числа с клавиатуры в переменную n
- Организация цикла while для обработки введенного числа
- Вычисление последней цифры числа n с помощью операции модуля %
- Запись вычисленной цифры в массив A с использованием переменной i
- Уменьшение значения i на единицу для обработки следующей цифры
- Деление числа n на 10 для получения следующей цифры
- Проверка значения i после цикла while для обработки нуля
- Копирование значения A[i] в A[j] и обнуление A[i]
- Увеличение значения j на единицу
- Организация цикла for для вывода значений массива A
- Вывод значения A[i] с помощью функции printf
- Возврат значения 0 для завершения программы