Найти произведение нечетных цифр двух чисел 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;
}

Объяснение кода листинга программы

  1. В начале кода подключаются необходимые библиотеки для работы с файлами и математическими операциями.
  2. Далее определена функция product_odd, которая принимает целое число и возвращает произведение его нечетных цифр.
  3. В функции main создаются две переменные m и n, в которые считываются два целых числа от пользователя.
  4. Затем выводится сообщение с просьбой ввести два целых числа.
  5. С помощью функции scanf числа считываются в переменные m и n.
  6. Выводится сообщение с просьбой ввести два целых числа.
  7. С помощью функции printf выводится произведение нечетных цифр числа m.
  8. С помощью функции printf выводится произведение нечетных цифр числа n.
  9. С помощью функции printf выводится произведение нечетных цифр чисел m и n.
  10. В функции product_odd инициализируется переменная prod единицей.
  11. С помощью цикла for перебираются все цифры числа x.
  12. С помощью оператора % определяется нечетность текущей цифры числа x.
  13. Если цифра нечетная, то она умножается на переменную prod.
  14. В конце функции возвращается значение переменной prod.
  15. В функции main вызывается функция product_odd для числа m.
  16. В функции main вызывается функция product_odd для числа n.
  17. В функции main вызывается функция product_odd для суммы чисел m и n.
  18. В конце функции выводится сообщение об успешном выполнении программы.
  19. В конце программы вызывается функция return, которая завершает выполнение программы.
  20. Программа заканчивается.

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы