Найти произведение нечетных цифр двух чисел m и n (Pascal -> C) - C (СИ)
Формулировка задачи:
Перевести код с Pascal в C. Нужно найти произведение нечетных цифр двух чисел m и n.
Листинг программы
- var
- n, s, t, m, v, c :integer;
- begin
- readln(n);
- readln(m);
- s := 1;
- v :=1;
- while n > 0 do
- begin
- t := n mod 10;
- n := n div 10;
- if ((t mod 2 ) = 1) and (t <> 0) then
- s := s * t;
- end;
- while m > 0 do
- begin
- t := m mod 10;
- m := m div 10;
- if ((t mod 2) = 1) and (t<>0) then
- v := v*t
- end;
- c := s*v;
- writeln(c);
- end.
Решение задачи: «Найти произведение нечетных цифр двух чисел m и n (Pascal -> C)»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- int product_odd(int);
- int main()
- {
- int m, n;
- puts("Enter integer m and n:");
- scanf("%d%d", &m, &n);
- printf("Product of odd numbers of %d is: %d\n", m, product_odd(m));
- printf("Product of odd numbers of %d is: %d\n", n, product_odd(n));
- printf("Product of odd numbers of %d and %d is: %d\n",
- m, n, product_odd(m) * product_odd(n));
- return 0;
- }
- int product_odd(int x)
- {
- int prod = 1;
- for(int i = 0; x; i++, x /= 10){
- if((x % 10) & 1)
- prod *= x % 10;
- }
- return prod;
- }
Объяснение кода листинга программы
- В начале кода подключаются необходимые библиотеки для работы с файлами и математическими операциями.
- Далее определена функция
product_odd
, которая принимает целое число и возвращает произведение его нечетных цифр. - В функции
main
создаются две переменныеm
иn
, в которые считываются два целых числа от пользователя. - Затем выводится сообщение с просьбой ввести два целых числа.
- С помощью функции
scanf
числа считываются в переменныеm
иn
. - Выводится сообщение с просьбой ввести два целых числа.
- С помощью функции
printf
выводится произведение нечетных цифр числаm
. - С помощью функции
printf
выводится произведение нечетных цифр числаn
. - С помощью функции
printf
выводится произведение нечетных цифр чиселm
иn
. - В функции
product_odd
инициализируется переменнаяprod
единицей. - С помощью цикла
for
перебираются все цифры числаx
. - С помощью оператора
%
определяется нечетность текущей цифры числаx
. - Если цифра нечетная, то она умножается на переменную
prod
. - В конце функции возвращается значение переменной
prod
. - В функции
main
вызывается функцияproduct_odd
для числаm
. - В функции
main
вызывается функцияproduct_odd
для числаn
. - В функции
main
вызывается функцияproduct_odd
для суммы чиселm
иn
. - В конце функции выводится сообщение об успешном выполнении программы.
- В конце программы вызывается функция
return
, которая завершает выполнение программы. - Программа заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д