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

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

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

Вот условие:

Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Если из числа удалены все цифры, то вывести 0. Ввод В первой строке содержится натуральное число n (1≤n≤4294967295). Вывод Вывести измененное число

Вот решение:

#include <math.h>
#include <stdio.h>
int main()
{
    unsigned long int a, b, i, k;
    scanf("%d", &a);
    i = 0;
    b = a;
    while (b > 10) {
        b = b / 10;
        i++;
    };
    k = pow(10, i);
    b = a;
    while (i > 0) {
        b = a / k;
        a = a % k;
        i--;
        if (b != 5 & b != 0) {
            printf("%d", b);
        };
    };
}

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

textual
Листинг программы
while (b > 10) {
        b = b / 10;
        i++;
    };

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

В данном коде выполняется деление числа b на 10 в условии цикла while. Это приводит к тому, что число b уменьшается в 10 раз при каждой итерации цикла. Переменная i увеличивается на единицу после каждой итерации цикла. Код будет выполняться до тех пор, пока b не станет меньше или равным 10. В это время i будет содержать количество итераций, которые были выполнены.

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


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

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

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