Mif 5

Задача. Даны действительные числа [latex] x, y, z.[/latex]  Вывести наименьшее и наибольшее из них. Если наименьших или наибольших чисел окажется несколько, то укажите в скобках количество.

Тесты

[latex] x [/latex] [latex] y [/latex] [latex]z[/latex] Наименьшее число Наибольшее число
100.56  812.34 -12 -12 812.34
-722.5  812.34 -722.5 -722.5 (2)   812.34
 256 145695 145695 256 145695 (2)
0  0 0 0 (3) 0(3)
-518.3 -759.3  -1995.6 -1995.6 -518.3

Код программы

 

Здесь находится код в ideone.com

Решение

  1. Так как по условию нам даны действительные числа, то, чтобы охватить наибольший диапазон чисел, используем тип данных long double;
  2. Для того, чтобы решить данную задачу мы предполагаем, что одна из переменных является наименьшей[latex] (x=min)[/latex] , а потом сравниваем ее с остальными переменными.
  3. Возможно, наше предположение верно. Тогда присваиваем счетчику значение [latex] 1 [/latex]. Если какая-либо из оставшихся переменных равна минимуму, то увеличиваем значение счетчика на единицу.
  4. Если значение переменной [latex] y[/latex] или  [latex] z[/latex] меньше минимума, то наше предположение было не верно. Тогда присваиваем значение минимального числа соответствующей переменной, а счетчику — значение [latex] 1 [/latex] . Если  несколько переменных имеют наименьшее значение, то при каждом совпадении значения счетчик увеличивается на единицу.
  5. Аналогичный подход применяем к максимальному значению.

Related Images: