Дано 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.
с ост циклами на подобие этого сделать нужно.
Ответы
Ответ дал:
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
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
Ответ дал:
0
ляя, у меня чисто порядок неправильны был и было while n>0, спс большое )
Ответ дал:
0
хорошая идея с циклом while n>0, просто нужно переделать последний пример на другой цикл (и не забыть begin ... end)!
Ответ дал:
0
program z1;
uses crt;
var n:longint;
i,max,x:integer;
begin
clrscr;
read(n);
max:=-1;
while n>0 do
begin
x:= n mod 10;
if x>max then max:=x;
n:= n div 10;
end;
writeln(max);
end.
uses crt;
var n:longint;
i,max,x:integer;
begin
clrscr;
read(n);
max:=-1;
while n>0 do
begin
x:= n mod 10;
if x>max then max:=x;
n:= n div 10;
end;
writeln(max);
end.
Вас заинтересует
1 год назад
1 год назад
2 года назад
2 года назад
8 лет назад
8 лет назад