Площадь равнобедренного треугольника, вписанного в окружность радиуса R - C (СИ)
Формулировка задачи:
Вычислить площадь равнобедренного треугольника, вписанного в окружность радиуса R, если известен угол А между его равными сторонами. Вычислить также отношение площадей круга и треугольника. Проверить работу программы при вычислении отношения площадей при вводе значений А=pi/3 (когда S тр. = 3*pow(3,1/2)*R*R/4) и A=pi/2 (когда S тр. =R*R)
Вот, что написал:
Впервые программирую на этом языке, подскажите, что в этой программе не так.
#include "stdafx.h"
#include "math.h"
#include "conio.h"
int _tmain(int argc, _TCHAR* argv[])
{
//Описание перменных.
float A, a, b, R, Rr, S, S1, S2, SX, SX1, SY, SY1;
const float pi = 3.14;
//Ввод переменных.
printf("Input A,R: ");
scanf_s("%lf%lf",&A,&R);
//Упрощение.
Rr = R*R;
//Расчет сторон треугольника.
a = 2.0 * R*sin(A);
b = 2.0 * R*sin((pi - A) / 2.0);
//Расчет площади треугольника.
S1 = a*b*b / 4.0 * R;
//Расчет площади круга.
S2 = pi*Rr;
//Расчет отношения площадей.
S = S2 / S1;
//Расчет площади треугольника для A=pi/3.
SX1 = 3.0 * pow(3.0, 1 / 2)*Rr/4.0;
//Расчет отношения площадей для A=pi/3.
SX = S2 / SX1;
//Расчет площади треугольника для A=pi/2.
SY1 = Rr;
//Расчет отношения площадей для A=pi/2.
SY = S2 / SY1;
//Вывод значений.
printf("S= %g\tS/S=%g\n", S1, S);
printf("For А=pi/3 S=%g\tS/S=%g\n", SX1, SX);
printf("For A=pi/2 S=%g\tS/S=%g", SY1, SY);
_getch;
return 0;
}Решение задачи: «Площадь равнобедренного треугольника, вписанного в окружность радиуса R»
textual
Листинг программы
#define _USE_MATH_DEFINES #include <math.h> ... //const float pi = 3.14; ... b = 2.0 * R*sin(M_PI-2.*A); S1 = a*b*b /( 4.0 * R);
Объяснение кода листинга программы
- Подключаем библиотеку math.h для использования математических функций
- Устанавливаем значение константы pi с помощью препроцессора M_PI
- Вычисляем длину стороны треугольника b с помощью формулы sin(A+B)=sin(A)cos(B) и значения константы pi
- Вычисляем площадь треугольника S1 с помощью формулы площади равнобедренного треугольника abb/(4*R)