C/C++

С++ Максимум трёх чисел Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число

Максимум трёх чисел
Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число).

Использовать функции max и min, а также логические операции && и || нельзя.

Входные данные

Вводится три целых числа, не превосходящие 100 по абсолютному значению.

Выходные данные

Выведите ответ на задачу.

Примеры
Ванька **
Ванька **
35
#include "iostream"
#include "algorithm"
using namespace std;
int main(){int k[3]; for(int &i:k)cin>> i; sort(k,k+3); cout<< k[2];}

или, немного проще,

#include "iostream"
#include "algorithm"
using namespace std;
int main(){int k[3]; for(int &i:k)cin>> i; cout<<*max_element(k,k+3);}
Михаил Занетдинов.
Михаил Занетдинов.
86 767
Лучший ответ
Ванька ** извините тут тоже не льзя в коде программы используются массив, цикл for и функция сортировки sort, что запрещено условиями задачи
int a, b, c;
cin >> a >> b >> c;
b = (a + b + abs(a - b)) / 2; // или if (a > b) { b = a; }
c = (b + c + abs(b - c)) / 2; // или if (b > c) { c = b; }
cout << c;
#include <iostream>
int mx(int a, int b, int c) {
if (b > a) a = b;
if (c > a) a = c;
return a;
}
int main() {
int a, b, c;
std::cin >> a >> b >> c;
std::cout << mx(a, b, c) << '\n';
}
Можно сделать свою функцию maximum вместо запрещённой стандартной функции max, если это не запрещено:
#include <iostream>
#define L long long
L maximum(L x, L y) { return x > y? x : y; }
int main() { L a, b, c; std::cin >> a >> b >> c;
std::cout << maximum(a, maximum(b, c)); }
Или просто, безо всяких функций кроме main, воспользоваться условными операторами сравнения, если это тоже не запрещено:
#include <iostream>
int main() { long long a, b, c, m;
std::cin >> a >> b >> c; m = a; if (b > m) m = b;
if (c > m) m = c; std::cout << m; }

Похожие вопросы