Задача 13 Урок 11
Primary tabs
Пользователь вводит целое 5-тизначное число, выведите все его цифры в обратном порядке, например для 14564 получим:
?
1
46541
(используйте опеции div и mod, подразумевается решение через цикл )
ВАРИАНТ 1:
var a, b, c, x: integer;
begin
write('vvedite chislo: ');
readln(a);
x:=1;
while (x >= 0) do
begin
c:=a div x;
b:=c mod 10;
x:=x*10;
write(b);
if (a<x) then
break;
end;
readln();
end.КОНСОЛЬ:
vvedite chislo: 1234567 7654321
ВАРИАНТ 2:
var a, b, c, x: integer;
begin
write('vvedite chislo: ');
a:=12345;
x:=1;
while (x <= 10000) do
begin
c:=a div x;
b:=c mod 10;
x:=x*10;
write(b);
end;
readln();
end. КОНСОЛЬ:
vvedite chislo: 54321
- Log in to post comments
- 1488 reads
vedro-compota
Sun, 01/02/2022 - 13:12
Permalink
while (true) do
--но лучше ставить реальное условие завершения, и избегать break
_____________
матфак вгу и остальная классика =)
Fara
Sun, 01/02/2022 - 13:28
Permalink
Исправление варианта 1:
var a, b, c, x: integer; begin write('vvedite chislo: '); readln(a); x:=1; while (a>=x) do begin c:=a div x; b:=c mod 10; x:=x*10; write(b); end; readln(); end.Fara
Sun, 01/02/2022 - 13:31
Permalink
2й вариант исправления варианта 1:
var a, b, c, x: integer; begin write('vvedite chislo: '); readln(a); x:=1; while (true) do begin c:=a div x; b:=c mod 10; x:=x*10; write(b); if (a<x) then break; end; readln(); end.