Дано вещественное число N. Если ближайшим целым числом к N является R+1, где R - целая часть числа N, то вывести на экран 'вверх', иначе 'низ'.
Формат ввода
Программа получает на вход число N -- вещественное.
Сначала давайте разберемся, что мы хотим сделать. Нам нужно сравнить вещественное число с его целой частью и определить, ближе ли оно к следующему целому числу или к текущему.
Для этого мы можем использовать функцию `floor` из библиотеки `cmath`. Эта функция округляет вещественное число вниз до ближайшего целого. Затем мы сравниваем вещественное число с целым числом, полученным путем добавления 0.5 к результату функции `floor`. Это позволит нам определить, ближе ли вещественное число к следующему целому числу или к текущему.
int main() {
// Читаем вещественное число
double N;
std::cin >> N;
// Получаем целую часть числа
double R = std::floor(N);
// Если число ближе к следующему целому числу, печатаем 'вверх'
// иначе печатаем 'низ'
if (N >= R + 0.5) {
std::cout << "вверх" << std::endl;
} else {
std::cout << "низ" << std::endl;
}
return 0;
}
```
В этом коде мы сначала считываем вещественное число N из стандартного ввода. Затем мы находим его целую часть, округляя вниз. Затем мы сравниваем N с R + 0.5. Если N больше или равно R + 0.5, это означает, что N ближе к следующему целому числу, поэтому мы выводим "вверх". В противном случае N ближе к текущему целому числу, поэтому мы выводим "низ".
Для небольших положительных чисел будет работать правильно. А для отрицательных следует уточнить правило округления до целого. #include
using namespace std;
int main() {
double n;
cin >> n;
puts(static_cast + 1 - n > 0.5 ? "вниз" : "вверх");
}