Найти произведение всех цифр числа - C (СИ)
Формулировка задачи:
Помогите пожалуйста доделать эту программу с помощью указателей)
int a; int m = 1; scanf_s("%d", &a); for (int i = a % 10; a > 0; a /= 10, i = a % 10 ) { printf_s("%d", i); m *= i; } printf_n("\n %d\n", m);
Решение задачи: «Найти произведение всех цифр числа»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main (void) { int a, b, i, n, m; printf("a = "); scanf("%d", &a); // получаем число с клавиатуры b = (a<0)? -a : a; // если отрицательное /* узнаем количество чисел */ for (n=0; b>0; n++) b /= 10; /* создаем массив */ int * arr; if ((arr = (int *) malloc(n * sizeof(int))) == NULL) return -1; /* разбиваем число на винтики */ b = (a<0)? -a : a; for (i=0; i<n; i++) { *(arr+i) = b%10; b /= 10; } /* находим произведение */ for (i=0, m=1; i<n; i++) { m *= *(arr+i); } printf("\nm = %d\n", m); // результат на экран free(arr); // освобождаем память return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и математическими операциями
- Определение переменной типа int для хранения числа, введенного пользователем
- Считывание числа с клавиатуры в переменную a с помощью функции scanf
- Приведение числа к положительному значению с помощью операции деления на 0 (если число отрицательное)
- Определение переменной типа int для хранения количества чисел в числе
- Инициализация переменной n значением 0 и установка условия для цикла while
- В цикле while разбиваем число на отдельные цифры, считывая остаток от деления на 10 в переменную b и делится на 10 само число
- Создаем динамический массив типа int с помощью оператора new, получая указатель на первый элемент массива
- В цикле while считываем каждую цифру числа в отдельный элемент массива
- Вычисляем произведение всех элементов массива в цикле for, начиная с i=0 и используя оператор умножения *=
- Выводим произведение на экран с помощью функции printf
- Освобождаем память, выделенную под массив, с помощью функции free
- Завершаем программу с возвращаемым значением 0, что означает успешное выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д