Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> using namespace std; int main() { double x, y; cin >> x >> y; if ( x > y ){ cout << x; } else cout << x << y; return 0; } |
Тесты
Входные данные | Выходные данные | |
x | y | |
3 | 2 | 3 |
10 | 5 | 10 |
30 | 20 | 30 |
50 | 30 | 50 |
Решение
Пусть даны два действительных числа x, y. Для ввода x и y используем тип double для действительных чисел. Задаем условие, если первое число больше второго, используя оператор if. Выводим первое число x.
Вводим else, если это не так. Выводим оба числа.
Код задачи
— Нужно поправить отступы в программе — фигурная скобка закрывается с таким же отступом, какой был в строке в которой стоит соответствующая открывающая фигурная скобка.
— «если это не так» кодируется командой else. Не нужно при этом ничего перепроверять.
— Добавьте в ключевые слова «сравнение чисел».
вроде исправила)
Нет. Не получилось.
— закрывающая скобка в 9-й строке должна быть левее — точно под буквой i оператора if из 7-й строки.
— cout в 11-й строке должен быть правее — точно под cout из 9-й. Кстати, вполне допустимо не выделять их в отдельную строку, а писать в ряд с if и else соответственно.
— return находится в main, а значит пишется с отступом в одну табуляцию — точно под double, cin и if.
вроде бы теперь исправила
Да, теперь приемлемо. Зачёл.
Почему «приемлемо», а не «хорошо»?
— Можно заметить, что х выводится всегда. Тогда останется одно условие для вывода у.
— В обоих ветках условного оператора у Вас стоит по одному оператору. Тем не менее в первом случае Вы его заключили в фигурные скобки, а во втором — нет. Это не ошибка, но лучше определиться с употреблением скобок.