Напишите пожалуйста функцию для нахождения площи треугольника по формуле Герона - C (СИ)
Формулировка задачи:
И если не трудно, чтобы были проверки на:
1. являются ли три введенных значения сторонами трикутника (a<b+c и a>b-c) если нет, то ввывести соответствующее сообщение
2. если введенное число не положительное, вывести соответствующее сообщение
Решение задачи: «Напишите пожалуйста функцию для нахождения площи треугольника по формуле Герона»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main(void)
{
double a, b, c, p;
double s = 0.0;
printf("Input a = ");
scanf("%lf", &a);
printf("\nInput b = ");
scanf("%lf", &b);
printf("\nInput c = ");
scanf("%lf", &c);
if ( (a+b < c) || (a+c < b) || (b+c < a) || (a < 0.0) || (b < 0.0) || (c < 0.0))
{
printf("Uncorrect input\n");
return 0;
}
else
{
p = (a + b + c) / 2.0;
s = sqrt(p*(p-a)*(p-b)*(p-c));
printf("s = %lf\n", s);
}
return 0;
}
Объяснение кода листинга программы
Вывод:
- Объявлены переменные: a, b, c, p, s.
- Ввод значений для переменных a, b, c с помощью функции scanf.
- Проверка корректности введенных значений: если любое из значений меньше нуля или сумма любых двух больше третьего, то выводится сообщение об ошибке и программа завершается.
- Если условия соблюдены, то вычисляется полупериметр треугольника (p), а затем площадь (s) с помощью формулы Герона.
- Выводится значение площади s.
- Программа завершается.