Шешімі: Среднее двузначных чисел
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести среднее арифметическое двузначных чисел или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.
Пример работы программы: при вводе 10, 120, 49, 0 программа выводит 29.5; при вводе 111, 1, 0 программа выводит NO.
Шешім по шагам
4 қадамОрганизуем цикл чтения чисел. Число 0 является признаком окончания ввода и не обрабатывается как элемент последовательности.
$$while\ True:\quad n = \operatorname{int}(\operatorname{input}())$$Проверяем, является ли очередное число двузначным. Для натуральных чисел это условие $10 \leq n \leq 99$.
$$10 \leq n \leq 99$$Для каждого двузначного числа увеличиваем сумму и количество найденных чисел.
$$S := S+n,\quad k := k+1$$Если двузначных чисел нет, выводим «NO». В противном случае выводим среднее арифметическое $S/k$.
Программа на Python с циклом до ввода 0 и проверкой условия $10 \leq n \leq 99$.
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Включают число 0 в последовательность.
Проверяют только условие n < 100 и считают однозначные числа двузначными.
Не обрабатывают случай отсутствия двузначных чисел и получают деление на ноль.
Выводят сумму вместо среднего арифметического.