Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести среднее арифметическое двузначных чисел или
вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых
Пример работы программы:
Входные данные
Выходные данные
10120490
29.5
11110
NO
Решение.
var a, s, n: integer; begin s:=0; n:=0; readln(a); while a<>0 do begin if (a > 9) and (a < 100) then begin s := s + a; n := n + 1; end; readln(a); end; if n > 0 then writeln(s/n :5:1) else writeln(’NO’); end.
Приведем другое решение на языке Python.
s = 0 n = 0 a = 1 while a != 0: a = int(input()) if a == 0: break if 9 < a < 100: s += a n += 1 if n > 0: print(round(s/n, 1)) else: print('NO')
Для проверки правильности работы программы необходимо использовать следующие тесты:
№
Входные данные
Выходные данные
1
2 222 0
NO
2
15 0
15.0
3
20303022 8 0
25.5
Просмотр содержимого документа
«Разбор задания ОГЭ по информатике. Февраль 2025. Программирование. Каталог заданий. Задания для подготовки»
Тип 16 № 37899
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести среднее арифметическое двузначных чисел или
вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых
Пример работы программы:
Входные данные
Выходные данные
10120490
29.5
11110
NO
Решение.
var a, s, n: integer; begin s:=0; n:=0; readln(a); while a0 do begin if (a 9) and (a 0 then writeln(s/n :5:1) else writeln(’NO’); end.
Приведем другое решение на языке Python.
s = 0 n = 0 a = 1 while a != 0: a = int(input()) if a == 0: break if 9 0: print(round(s/n, 1)) else: print('NO')
Для проверки правильности работы программы необходимо использовать следующие тесты: