Задать вопрос
23 января, 01:57

Дано 5 ти зн число, найти максимальную цифру в нём используя циклы

while do и repeat until, break исп нельзя. Free ide pascal.

Вот решение с for to do

program z1;

uses crt;

var n:longint;

i, max, x:integer;

begin

clrscr;

read (n) ;

max:=-1;

for i:=1 to 5 do

begin

x: = n mod 10;

if x>max then max:=x;

x: = n div 10;

end;

writeln (max) ;

end.

с ост циклами на подобие этого сделать нужно.

+2
Ответы (1)
  1. 23 января, 04:50
    0
    Вариант с циклом while ... do ...

    program z1;

    uses crt;

    var n:longint;

    i, max, x:integer;

    begin

    clrscr;

    read (n) ;

    max:=-1;

    i:=1; {это будет переменная-счетчик}

    while i<=5 do

    begin

    x: = n mod 10;

    if x>max then max:=x;

    n: = n div 10; {в этой строке исправлена опечатка в оригинале}

    i:=i+1; {наращиваем счетчик вручную}

    end;

    writeln (max) ;

    end.

    Вариант с циклом repeat ... until

    program z1;

    uses crt;

    var n:longint; i, max, x:integer;

    begin

    clrscr;

    read (n) ;

    max:=-1;

    i:=1;

    repeat

    x: = n mod 10;

    if x>max then max:=x;

    n: = n div 10;

    i:=i+1;

    until i>5;

    writeln (max) ;

    end.

    Вариант с циклом repeat ... until без счетчика!

    program z1;

    uses crt;

    var n:longint;

    max, x:integer;

    begin

    clrscr;

    read (n) ;

    max:=-1;

    repeat

    x: = n mod 10;

    if x>max then max:=x;

    n: = n div 10;

    until n=0;

    writeln (max) ;

    end.

    В последнем примере условием окончания цикла будет случай, когда число станет равным 0. Действительно, после каждого повторения цикла число становится на один разряд меньше (выделенная цветом строка программы), значит, когда-нибудь такое число станет равным 0 (цикл подходит для числа с любым количеством цифр). Пример: 34567 - > 3456 - > 345 - > 34 - > 3 - > 0
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Дано 5 ти зн число, найти максимальную цифру в нём используя циклы while do и repeat until, break исп нельзя. Free ide pascal. Вот решение ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике