Нужно создать функцию, которая проверяет есть ли среди цыфр целого числа непарные - C (СИ)
Формулировка задачи:
Разработать функцию, которая проверяет, есть ли среди цифр заданного целого числа нечетные. Сгенерировать 500 случайных четырехзначных чисел и занести их внутренние коды в бинарный файл. Применив разработанную функцию для проверки числа, удалить из файла те числа, содержащие нечетные цифры. Распечатать содержимое сокращенного файла и указать, сколько чисел изъяты.
Вот такая вот запара. Буду благодарен за помощь.
Решение задачи: «Нужно создать функцию, которая проверяет есть ли среди цыфр целого числа непарные»
textual
Листинг программы
int have_odd_digits(int number) { return ( ! number ) ? 0 : ( ( number % 10 ) & 1 ) ? 1 : have_odd_digits(number / 10); }
Объяснение кода листинга программы
В данном коде функция have_odd_digits() проверяет, есть ли среди цифр целого числа непарные.
- Входное значение переменной
number
проверяется на ноль. Если оно равно нулю, то возвращается 0. - В противном случае проверяется последняя цифра числа
number
. Если она нечетная, то возвращается 1. - Если последняя цифра четная, то функция вызывается рекурсивно для числа, полученного путем деления
number
на 10, и результат этого вызова присоединяется к результату проверки последней цифры. - Результатом работы функции является число, полученное в результате рекурсивных вызовов, которое будет равно 1, если хотя бы одна цифра исходного числа нечетная, и 0 в противном случае.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д