Нужно создать функцию, которая проверяет есть ли среди цыфр целого числа непарные - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Разработать функцию, которая проверяет, есть ли среди цифр заданного целого числа нечетные. Сгенерировать 500 случайных четырехзначных чисел и занести их внутренние коды в бинарный файл. Применив разработанную функцию для проверки числа, удалить из файла те числа, содержащие нечетные цифры. Распечатать содержимое сокращенного файла и указать, сколько чисел изъяты. Вот такая вот запара. Буду благодарен за помощь.

Решение задачи: «Нужно создать функцию, которая проверяет есть ли среди цыфр целого числа непарные»

textual
Листинг программы
int have_odd_digits(int number) {
    return ( ! number ) ? 0 : ( ( number % 10 ) & 1 ) ? 1 : have_odd_digits(number / 10);
}

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

В данном коде функция have_odd_digits() проверяет, есть ли среди цифр целого числа непарные.

  1. Входное значение переменной number проверяется на ноль. Если оно равно нулю, то возвращается 0.
  2. В противном случае проверяется последняя цифра числа number. Если она нечетная, то возвращается 1.
  3. Если последняя цифра четная, то функция вызывается рекурсивно для числа, полученного путем деления number на 10, и результат этого вызова присоединяется к результату проверки последней цифры.
  4. Результатом работы функции является число, полученное в результате рекурсивных вызовов, которое будет равно 1, если хотя бы одна цифра исходного числа нечетная, и 0 в противном случае.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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