Определить наибольшее значение числа
Три толстяка решили поспорить: кто из них самый тяжелый. После взвешивания оказалось, что их масса соответственно M1, M2 и M3 килограмм. Считается, что масса толстяка должна быть не менее 94 и не более 727 килограмм.
Помогите определить массу самого тяжелого из них, либо выяснить, что была допущена ошибка при взвешивании.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int M1, M2, M3;
scanf("%d%d%d", &M1, &M2, &M3);
if ((M1 >= 94 && M1 <= 727) && (M2 >= 94 && M2 <= 727) && (M3 >= 94 && M3 <= 727))
{
if ((M1 > M2) && (M2 > M3 && (M1 > M3)))
{
printf("%d", M1); // первый наибольший
}
if ((M2 > M1) && (M3 > M1) && (M2 > M3))
{
printf("%d", M2); // второй наибольший
}
if ((M3 > M2) && (M2 > M1) && (M3 > M1))
{
printf("%d", M3); // третий наибольший
}
if ((M1 == M2) && (M1 == M3) && (M2 == M3))
{
printf("%d", M1); // если массы одинаковы
}
}
else
printf("Error");
}
Где допущена ошибка у меня?
Ответы (2 шт):
Автор решения: EOF
→ Ссылка
Всё можно сделать проще:
int max(int x, int y)
{
return (x > y) ? x : y;
}
...
// Где то в `main`
int max_mass = max(max(M1, M2), M3);
Автор решения: Igor
→ Ссылка
if (M1 > M2 && M1 > M3) { printf("%d", M1); } // первый наибольший
else if (...
else { printf("two max or all three values are the same"); }
и так далее.