Вывести число, полученное из заданного N после yдаления всеx единиц - C (СИ)

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

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

Требовалось написать код, которая дает целое число N, не выше 109, и выводит число, которое дается из N после yдаления всеx единиц; порядок остальныx цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры – единицы и нyли, должно быть преобразовано в 0. нyли в старшиx разрядаx нового числа печатать не нyжно

Решение задачи: «Вывести число, полученное из заданного N после yдаления всеx единиц»

textual
Листинг программы
long N = 19520125L;
long M = 0;
long p = 1;
while(N) {
  int c = N%10;
  if (c!=1) {
    M += p*c;
    p *= 10;
  }
   N /= 10;
}
printf("%ld\n", M);

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

  1. Задано число N = 19520125
  2. Инициализируется переменная M = 0, которая будет хранить результат
  3. Инициализируется переменная p = 1, которая будет использоваться как множитель
  4. Начинается цикл while(N), который будет выполняться до тех пор, пока N не станет равным 0
  5. Внутри цикла происходит следующее:
    • Вычисляется остаток от деления N на 10 (c = N%10)
    • Если c не равно 1, то выполняется следующее:
      • Значение c умножается на p и добавляется к M
      • Значение p умножается на 10
    • N делится на 10
  6. После окончания цикла, выводится значение M с помощью функции printf(%ld\n, M)
  7. Значение M равно 19520125, что является исходным числом N без всех единиц.

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


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

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

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