Выбросить из записи заданного числа указанные цифры, оставив прежним порядок остальных цифр - 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 будет содержать количество итераций, которые были выполнены.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д