Три отрезка заданы длинами. Определить, можно ли построить из них треугольник - C (СИ)
Формулировка задачи:
Помогите решить задачу! Вот условие: Три отрезка заданы длинами. Определить, можно ли построить из них треугольник,
если - да, то вычислить сторону квадрата, имеющего такую же, как у треугольника площадь.
Решение задачи: «Три отрезка заданы длинами. Определить, можно ли построить из них треугольник»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,S,d,p;
printf("Enter a: ");
scanf("%lf",&a);
printf("Enter b: ");
scanf("%lf",&b);
printf("Enter c: ");
scanf("%lf",&c);
if(a<b+c && b<a+c && c<b+a)
{
p=(a+b+c)/2;
S=sqrt( p*(p-a)*(p-b)*(p-b) );
d=sqrt(S);
printf("Storona kvadrata = %.3lf\n",d);
}
else
printf("Ne treugolnik\n");
return 0;
Объяснение кода листинга программы
В этом коде:
- Задаются три переменные типа double: a, b, c. Ввод значений для них осуществляется с клавиатуры.
- Выполняется проверка возможности построения треугольника по формуле a < b + c, b < a + c, c < b + a.
- Если треугольник можно построить, то вычисляется полупериметр p и площадь треугольника S с помощью формулы Герона.
- Затем вычисляется высота треугольника d, которая является биссектрисой прямоугольного треугольника со сторонами a, b, c.
- Выводится сообщение о том, что треугольник построить возможно, и значение его площади, или сообщение о том, что треугольник построить невозможно.