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

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

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

Вот условие:

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

Вот решение:

Листинг программы
  1. #include <math.h>
  2. #include <stdio.h>
  3. int main()
  4. {
  5. unsigned long int a, b, i, k;
  6. scanf("%d", &a);
  7. i = 0;
  8. b = a;
  9. while (b > 10) {
  10. b = b / 10;
  11. i++;
  12. };
  13. k = pow(10, i);
  14. b = a;
  15. while (i > 0) {
  16. b = a / k;
  17. a = a % k;
  18. i--;
  19. if (b != 5 & b != 0) {
  20. printf("%d", b);
  21. };
  22. };
  23. }

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

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

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

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

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


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

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

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы