Определить, какая цифра числа больше
Дано целое число, состоящее из разных цифр. Определить, какая из цифр заданного числа больше, т. е. найти наибольшую цифру числа.
Переменные: n - задаваемое число, max - максимальная цифра числа.
Пусть может вводится как положительное, так и отрицательное число. Так как знак числа в данной задаче никакого значения не имеет, то сразу избавимся от него.
В случае, когда пользователь вводит число 0, это значение и будет единственной и максимальной цифрой. С другой стороны, переменной max надо что-то присвоить до выполнения цикла поиска самой большой цифры. Присвоим ей 0, а цикл будем выполнять только при условии, что n больше 0.
Цикл выполняется до тех пор, пока n больше 0. На каждой итерации цикла извлекается последняя цифра (операцией нахождения остатка от деления на 10) и сравнивается со значением max. Если она больше, то присваивается max. Затем надо избавиться от этой последней цифры в числе n, что осуществляется с помощью деления нацело на 10.
var
n: longint;
max: byte;
begin
readln(n);
if n < 0 then
n := abs(n);
max := 0;
while n > 0 do begin
if n mod 10 > max then
max := n mod 10;
n := n div 10;
end;
writeln(max);
end.