Найти в записи числа 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после цикла будет равно исходному числу, но без минимальной цифры.