Найти в записи числа n минимальную цифру и удалить ее - C (СИ)
Формулировка задачи:
Дано натуральное число n. Найти в записи числа n минимальную цифру и удалить ее.
помогите пожалуйста , кто может.... можно и не через массив
главное чтобы выполнить задачу
вышло только так (((( ( рабочий код )
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int n, q,min=9 ;
- printf("Vvedite chislo : ");
- scanf_s ("%d", &n );
- while(n)
- {
- q=n%10;
- if (q<=min)
- min=q;
- n=n/10;
- }
- printf("min chislo = %d \n" , min );
- system("PAUSE");
- }
Решение задачи: «Найти в записи числа n минимальную цифру и удалить ее»
textual
Листинг программы
- while(n)
- {
- * * y = y*10 + n%10;
- * * n /= 10;
- }
- n=y;
Объяснение кода листинга программы
В данном коде происходит следующее:
- В переменной
n
хранится число, которое нужно преобразовать. - В переменной
y
будет храниться результат преобразования. - В цикле while(n) происходит преобразование числа
n
до тех пор, пока оно не станет равным нулю. - В каждой итерации цикла минимальная цифра числа
n
(это значение равноn % 10
) добавляется к переменнойy
, а само числоn
делится на 10. - После окончания цикла, значение переменной
y
присваивается переменнойn
, то есть преобразованное число становится исходным для следующей итерации цикла. - Значение переменной
n
после цикла будет равно исходному числу, но без минимальной цифры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д