Функция для вычисления максимального значения из трех элементов - C (СИ)
Формулировка задачи:
Помогите пожалуйста. Написать функцию для вычисления максимального значения из 3-х элементов.
Решение задачи: «Функция для вычисления максимального значения из трех элементов»
textual
Листинг программы
#include <stdio.h>
#define max(a, b) ( (a) > (b) ? (a) : (b) )
int main(void) {
int a, b, c;
while ( printf("3 numbers: ") && scanf("%d %d %d", &a, &b, &c) == 3 )
printf("The biggest is %d\n", max(max(a, b), c));
return 0;
}
Объяснение кода листинга программы
- Включаем файл стандартного ввода/вывода
- Определяем макрос max(a, b) с использованием операторов сравнения и возвращаемого значения.
- Объявляем функцию main и переменные a, b, c типа int.
- Запускаем цикл while, который будет выполняться до тех пор, пока пользователь вводит три числа.
- Внутри цикла while выводим приглашение для ввода трех чисел.
- С помощью функции scanf считываем три числа и сохраняем их в переменных a, b, c.
- Проверяем корректность ввода, сравнивая считанные числа с 3.
- Если все числа корректно введены, то вычисляем максимальное значение из трех чисел используя функцию max(max(a, b), c).
- Выводим на экран максимальное значение.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.