Минимум и максимум из трёх чисел - Pascal ABC
Формулировка задачи:
Задача : "Напишите программу, которая выбирает максимальное и минимальное из трёх введённых чисел."
Ссылка на нее: http://informatics.mccme.ru/mod/statements/view.php?id=11144#1
Мой код:
Не понимаю,что ему не нравится? Подставлял уже все возможные комбинации и с тремя неравными числами и с несколькоими одинаковыми в разных комбинациях. Подставлял долго, всегда выдает правильно. Думал,что проблема снова же с int/longint, но все ж таки нет,усиленно не проходит 3 теста.
Я уже видел решение с массивами, но если считать,что я о них не знаю (а я ими и правда пользоваться пока не умею),то что делать? Понимаю,что разобраться с моими if'ми будет сложновато,но может у кого-то есть в запасе написанный код именно через кучу условных операторов. Не могу понять,какой вариант я упустил.
Решение задачи: «Минимум и максимум из трёх чисел»
textual
Листинг программы
var num1,num2,num3,mn,mx:integer; Begin Readln(num1,num2,num3); if num1>num2 then mx:=num1 else mx:=num2; if num3>mx then mx:=num3; if num1<num2 then mn:=num1 else mn:=num2; if num3<mn then mn:=num3; write(mn,' ',mx) end.
Объяснение кода листинга программы
- Создается переменная
varс именемnum1, которая будет хранить первое число, введенное пользователем. - Создается переменная
varс именемnum2, которая будет хранить второе число, введенное пользователем. - Создается переменная
varс именемnum3, которая будет хранить третье число, введенное пользователем. - Создается переменная
varс именемmn, которая будет хранить минимальное значение из трех чисел. - Создается переменная
varс именемmx, которая будет хранить максимальное значение из трех чисел. - С помощью функции
Readln()считываются три числа от пользователя. - Если первое число (
num1) больше второго числа (num2), то переменнойmxприсваивается значениеnum1. - Если второе число (
num2) больше третьего числа (num3), то переменнойmxприсваивается значениеnum2. - Если первое число (
num1) меньше второго числа (num2), то переменнойmnприсваивается значениеnum1. - Если второе число (
num2) меньше третьего числа (num3), то переменнойmnприсваивается значениеnum2. - Переменная
mnсравнивается с переменнойmx. Еслиmnменьшеmx, то переменнойmxприсваивается значениеmn. - Переменная
mnсравнивается с переменнойmx. Еслиmnбольшеmx, то переменнойmxприсваивается значениеmn. - Значения переменных
mnиmxвыводятся на экран с помощью функцииwrite(). - Конец программы.