Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, заканчивается числом 0 (0 последовательность чисел в последовательность). признак окончания ввода, не входит Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести среднее арифметическое двузначных чисел или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых. Пример работы программы: Входные данные 10 120 49 0 Выходные данные 29.5 Входные данные 111 1 0 Выходные данные NO
Answers & Comments
Писал на С#, могу переделать под с++\python при надобности
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FirtsCSharp
{
class Program
{
static void Main(string[] args)
{
List<double> numbers = new List<double>();
double l = double.Parse(Console.ReadLine());
while(l != 0)
{
numbers.Add(l);
l = int.Parse(Console.ReadLine());
}
double sum = 0;
sum = numbers.Where(x => x > 9 && x < 100).Sum();
int k = numbers.Where(x=> x>9 && x < 100).Count();
Console.WriteLine(sum == 0 ? "NO" : (sum/k).ToString());
Console.ReadLine();
}
}
}