已知三角形的三条边长,求这个三角形的外接圆的半径
方法一:
先由余弦定理求出某角的余弦值:
cosA=(b^2+c^2-a^2)/2bc
再求出该角的正弦值:
sinA=√(1-(cosA)^2)
然后利用正弦定理求得外接圆半径R :
R=a/(2sinA)
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
double a,b,c,r,cosA,sinA;
while(~scanf("%lf%lf%lf",&a,&b,&c))
{
cosA=(b*b+c*c-a*a)/(2*b*c);
sinA=sqrt(1-cosA*cosA);
r=a/(2*sinA);
printf("%.2lf\n",r);
}
return 0;
}
方法二:
先用海伦公式求三角形的面积:
p=(a+b+c)/2
s=√〔p(p-a)(p-b)(p-c)〕
面积公式:
s=1/2*bcsinA得
1/2*bcsinA=√〔p(p-a)(p-b)(p-c)〕
所以sinA=2√〔p(p-a)(p-b)(p-c)〕/bc
最后利用R=a/(2sinA)求出R
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
double a,b,c,r,p,sinA,s;
while(~scanf("%lf%lf%lf",&a,&b,&c))
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式求面积
sinA=2*s/(b*c);
r=a/(2*sinA);
printf("%.2lf\n",r);
}
return 0;
}

本文介绍了两种方法来求解已知三边长度的三角形的外接圆半径。方法一是通过余弦定理计算角度的余弦和正弦值,然后应用正弦定理;方法二是利用海伦公式求解三角形面积,进一步得到正弦值,最后计算外接圆半径。这两种方法为解决此类数学问题提供了实用的思路。
1929

被折叠的 条评论
为什么被折叠?



