Найти разницу между максимумом и минимумом из трёх чисел - C (СИ)
Формулировка задачи:
Здравствуйте! Задача звучит так: Найти разницу между максимумом и минимумом из трёх чисел. Задачка на языке Си.
Вот мои наработки, будьте добры, исправьте пожалуйста ошибки - я запутался в тернарной операции..
Заранее спасибо.
#include <stdio.h>
int main()
{
int a,b,c,min,max,raz;
printf ("Введите a,b,c: ");
scanf ("%f,%f,%f",&a,&b,&c);
min=(a<b)?(a<c)?a:(b<c?b:c);
max=(a>b)?(a>c)?a:(b>c?b:c);
raz=max-min;
printf("Разница:%f",raz);
}Решение задачи: «Найти разницу между максимумом и минимумом из трёх чисел»
textual
Листинг программы
#include<stdio.h>
int num_max(int min, int max){
return min > max ? min : max;
}
int num_min(int min, int max){
return min < max ? min : max;
}
int factorial(int n){
return n <= 1 ? 1 : n * factorial(n - 1);
}
int main()
{
int x = 8, y = 10, z = 5;
printf("minimum: %d\n", num_min(num_min(x, y), z));
printf("maximum: %d\n", num_max(num_max(x, y), z));
printf("factorial: %d = %d\n", x, factorial(x));
printf("factorial: %d = %d\n", y, factorial(y));
printf("factorial: %d = %d\n", z, factorial(z));
return 0;
}
Объяснение кода листинга программы
- Программа находит минимум и максимум из трех чисел (x, y, z)
- Затем программа находит разницу между максимумом и минимумом
- Далее программа вычисляет факториал для каждого из трех чисел (x, y, z)
- Выводит на экран значения минимума, максимума и факториала для каждого из трех чисел
- Возвращает 0, завершая работу программы