ввод: 5 4 7
вывод: 7 5 4
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int x = Integer.parseInt(reader.readLine());
int y = Integer.parseInt(reader.readLine());
int z = Integer.parseInt(reader.readLine());
int max =0;
int med =0;
int min =0;
if (x>=y && x>=z)
max = x;
else if (y>=x && y>=z)
max = y;
else
max = z;
if (x>=y && x<=z)
med = x;
else if (y>=x && y<=z)
med = y;
else
med = z;
if (x<=y && x<=z)
min = x;
else if (y<=x && y<=z)
min = y;
else
min = z;
System.out.println(max+" " + med+ " " + min);
} }
ak
22 уровень
Выводит правильно,но выдает ошибку
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Maks
10 февраля 2020, 20:48
Ошибка в определении среднего (med) числа. if (x>=y && x<=z) --> med = x; этого не достаточно x будет средним так же если он >z и <y. И так же для остальных if в определении среднего числа. Вы рассматриваете только половину возможностей. Или поправьте циклы для определения med или вычислите его другим способом (max и min ведь уже есть ;) )
0
ak
11 февраля 2020, 17:06
согласен! понял, спасибо!
а почему если я ставлю перед else "{" выдает синтаксическую ошибку?
if ( ) {
else
}
Пишет что перед else должно стоять if. Как будто "{" закрывает if
0
Maks
11 февраля 2020, 17:12
Потому что это действительно ошибка. Можно так
if ( условие ) {
действие 1;
действие 2;
...
действие n;
{
else
если при выполнении условия нужно сделать более одного действия
0
Whiskels
10 февраля 2020, 19:57
второй if - в случае если y > x, но меньше z, он не будет средним числом
попробуйте с разными вариантами на ввод - 321, 123, 132, 312
0