Среднее арифметическое

  • 8
  • Недоступна
Среднее арифметическое — это такое значение, которое часто используют в статистике. Средняя температура по больнице считается именно по формуле среднего арифметического. Мы подошли к ответственному моменту: напишем программу, в которой вводим с клавиатуры числа, суммируем их и считаем среднее, пока пользователь не введет число -1.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (305)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
oneDollarGourmet 7 уровень
12 января, 20:04
НЕ должно учитывать
Роман 5 уровень, Санкт-Петербург
11 января, 13:43
Если паритесь по поводу того, что среднее арифметическое учитывает (-1) Можно заранее задать переменным значение double a = 1; int count = -1;
Dmitry Panchenko 7 уровень
10 января, 08:06
В описание решения, они цикл завершают через - return. Не пойму как это работает и почему не через break??
oneDollarGourmet 7 уровень
12 января, 20:07
потому что это другой вариант решения задачи. return возвращает (в данном случае ничего ) и после любого return прекращается код внизу return. правильно?😅
Andreas 10 уровень
9 января, 13:17
подскажите плиз где ошибка?
int N = 0;
      int sum = 0;
      while (true) {
          BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
          int a = Integer.parseInt(reader.readLine());
          if(a == -1) {
              int s = sum/N;
              System.out.println(s);
              break;
          }
          sum = sum + a;
          N++;
      }
Дмитрий 5 уровень
9 января, 20:05
Сумма не должна быть целым, иначе при делении не получиться веществееного числа.
Dmitry Panchenko 7 уровень
10 января, 08:04
double sum = 0;
Сергей 19 уровень, Новосибирск
25 декабря 2020, 03:49
Меня сбило с толку округление до 1 знака (Приводил формат к 1 знаку). В этом была ошибка. Может кому то поможет.
Alexander Komlichenko 15 уровень, Москва
22 декабря 2020, 18:56
Похожее задание было до этого, только тут -1 не должно учитываться, для этого сразу в первой переменной ставим не 0, а 1 (т.к. -1 все равно учитывается в цикле). + здесь необходимо создать переменную которая учитывает каждый ввод цифры и задать ему значение -1(т.е. -1 который прерывает цикл так же учитывается в подсчете).
maks 7 уровень, Воронеж
22 декабря 2020, 20:12
а не легче все суммы и счетчики поставить после проверки на условие -1 ?
Alexander Komlichenko 15 уровень, Москва
25 декабря 2020, 22:04
Кому как удобней, но тут у тебя в самом начале известно что -1 не должен учитываться, следовательно проще сразу выкинуть его таким способом, чтобы дальше писать код и не думать о нем.
Hardy 17 уровень, Белгородская обл.
9 декабря 2020, 10:43
Аналогично: Программа работает, все значения верны, данные на экран выводит, но не проходит условие. " Выведенный результат должен соответствовать заданию для любых входных данных." В консоль вывожу одну цифру - среднее арифметическое. Что не так?
Hardy 17 уровень, Белгородская обл.
9 декабря 2020, 13:32
надо обязательно программу завершить через break; Иначе не срабатывает последний пункт .
Gaziz 9 уровень, Уфа
4 января, 12:42
То же самое не работает даже с break;.
R0msul 18 уровень, Пинск
2 декабря 2020, 12:59
Программа работает, все значения верны, данные на экран выводит, но не проходит условие "Программа должна выводить данные на экран." wtf?
Сергей Жак Java Developer
8 декабря 2020, 20:51
А у тебя точно выводится с остатком? Проверь, не целочисленно ли возвращается значение.
Вадим 5 уровень, Санкт-Петербург
27 ноября 2020, 08:37
Почему в теле блока if стоит return, а не break ? Я написал с break, всё работает.
Руслан 9 уровень, Минск
4 ноября 2020, 15:47
Чтобы число поделилось с остатком: Вариант №1: double num=(double)a/b; System.out.println((double) a/b); Вариант №2: double num= 1.0*a/b; System.out.println(1.0 * a/b);
Сергей Жак Java Developer
8 декабря 2020, 20:50
Вариант здорового человека:
System.out.println((sum + 0D) / cnt);