Предмет: Информатика,
автор: blackbacardi010
Пользователь вводит последовательность чисел. Признак конца ввода 0.Определить 3 наибольших числа в последовательности.НА ЯЗЫКЕ ПИТОН .ШКОЛЬНЫЙ УРОВЕНЬ.ЖЕЛАТЕЛЬНО С ПОЯСНЕНИЯМИ!
Ответы
Автор ответа:
0
m1=0
m2=0
m3=0
x=10
while x!=0:
x=int(input())#вводим число
if m1<x:
m3=m2
m2=m1
m1=x
elif x>m2 and x>m3 and x<m1:
m3=m2
m2=x
elif x<m2 and x<m1 and x>m3:
m3=x
print(m1,m2,m3,sep=" ")
вот std алгоритм заключается в том что у нас три переменных и мы после нахождения максимума все переменные сдвигаем назад то есть m1 становится m2, m2 становится m3 а m1 присваивается новый максимум и так же тут случаи когда m2 или m3 больше старых но мешьше m1 он тогда просто меняет значение именно той переменной которой он больше
Похожие вопросы
Предмет: История,
автор: tymurtsytovich56
Предмет: Математика,
автор: Uchenik1000000
Предмет: Литература,
автор: ananenkosofia96
Предмет: Математика,
автор: егор882
Предмет: География,
автор: sonatuz2005