Среди трех чисел найти среднее

Задача

Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).

Пояснение к задаче и алгоритм решения

Проверить, лежит ли первое число между двумя другими. При этом может быть два случая:

  • первое больше второго и первое меньше третьего,
  • первое меньше второго и первое больше третьего.

Если ни один из вариантов не вернул истину, значит первое число не среднее. Тогда проверяется, не лежит ли второе число между двумя другими. Это может быть в двух случаях, когда

  • второе больше первого и меньше третьего,
  • второе меньше первого и больше третьего.

Если эти варианты также не вернули истину, то остается только один вариант - посередине лежит третье число.

Исходный код на языке программирования Pascal

var
    a1, a2, a3: integer;
 
begin
    write ('Введите три числа: ');
    readln (a1, a2, a3);
 
    if ((a1 > a2) and (a1 < a3)) or ((a1 < a2) and (a1 > a3)) then
        writeln(a1)
    else
        if ((a2 > a1) and (a2 < a3)) or ((a2 < a1) and (a2 > a3)) then
            writeln(a2)
        else
            writeln(a3);
 
end.

Пример(ы) выполнения программы на языке Pascal

Введите три числа: 3 5 4
4

Исходный код на языке программирования C

#include <stdio.h>
main() {
    int a, b, c;
    scanf("%d%d%d", &a,&b,&c);
    if (a > b && a < c || a < b && a > c)
        printf("%d\n", a);
    else
        if (b > a && b < c || b < a && b > c)
            printf("%d\n", b);
        else
            printf("%d\n", c);
}

Пример(ы) выполнения программы на языке C

110 111 109
110

Исходный код на языке программирования Python

print('Введите три числа: ')
a = int(input())
b = int(input())
c = int(input())
 
if b < a < c or c < a < b:
    print('Среднее:', a)
elif a < b < c or c < b < a:
    print('Среднее:', b)
else:
    print('Среднее:', c)

Пример(ы) выполнения программы на языке Python

Введите три числа:
453
244
901
Среднее: 453

Исходный код на языке программирования Basic

print "Введите три числа: "
input a
input b
input c
print "Среднее: ";
if a > b and a < c or a < b and a > c then
        print a
else
        if b > a and b < c or b < a and b > c then
                print b
        else
                print c
        endif
endif

Пример(ы) выполнения программы на языке Basic

Введите три числа:
45
60
54
Среднее: 54

Тема

Ветвления

Уровень сложности

Средний

Дата публикации