Дано натуральное число N. Получить новое число, удалив из записи числа все чётные цифры - C (СИ)
Формулировка задачи:
Помогите,пожалуйста,написать программу на Си.
Задание: Дано натуральное число N. Получить новое число, удалив из записи числа все чётные цифры.
Решение задачи: «Дано натуральное число N. Получить новое число, удалив из записи числа все чётные цифры»
textual
Листинг программы
for(p=1,r=0; n>0; n/=10) {
c = n%10;
if (c%2) {
r += c*p;
p *= 10;
}
}
Объяснение кода листинга программы
В данном коде решатся задача получения нового числа, удалив из записи числа все чётные цифры.
- Переменная
pинициализируется единицей. - Переменная
rинициализируется нулём. - Переменная
nсодержит натуральное число, заданное в качестве входного параметра. - Цикл выполняется до тех пор, пока
nбольше нуля. - В каждой итерации цикла переменная
cполучает последнюю цифру числаn. - Если
cнечётная, то она добавляется кr, и переменнаяpумножается на 10. - Если
cчётная, то она не учитывается. - В результате получается новое число, которое содержит только нечётные цифры исходного числа.