Составьте программу,которая определяет какое из трех введенных с клавиатуры чисел является средним.если среди чисел есть равные,то вывести сообщение"ошибка"
Var a,b,c: integer; begin write('числа: '); readln(a,b,c); if a>b then swap(b,c); if c<a then swap(a,c); if b>c then swap(b,c); if (a=b) or (b=c) then writeln('ошибка') else writeln('среднее: ',b); end.
Замечание. Так как количество вводимых чисел заранее не известно, то откроем бесконечный цикл со всегда верным условием True, но как только будет введено число 0, остановим цикл командой break.
Программа:
program z; var k,s,x:integer; begin k:=0; {начальное значение количества двузначных чисел} s:=0; {начальное значение суммы двузначных чисел} while True do {открываем бесконечный цикл} begin readln(x); {вводим число х} if x=0 then break; {если введенное число равно 0, то остановить цикл} if (x>9)and(x<100) then {если число двузначное, т.е. от 10 до 99} begin k:=k+1; {количество увеличиваем на 1} s:=s+x; {увеличиваем предыдущее значение суммы на число х} end; end; if k=0 then writeln('NO') {если двузначных чисел не было, то вывод NO} else writeln(s/k); {иначе вывод ср.арифметического} end.
begin
write('числа: '); readln(a,b,c);
if a>b then swap(b,c);
if c<a then swap(a,c);
if b>c then swap(b,c);
if (a=b) or (b=c) then writeln('ошибка')
else writeln('среднее: ',b);
end.
числа: 9 17 8
среднее: 9