Найти произведение нечетных цифр двух чисел 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, которая завершает выполнение программы. - Программа заканчивается.