So Easy[Ⅰ]
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
给出任意一个三角形的三个边a,b,c。
要求:求出这个三角形的外接圆半径。
输入
输入数据有多组。
每行有三个数a,b,c(0<a,b,c<100)
输出
输出一行单独的一个数表示三角形的的外接圆半径,输出保留两位小数。(不要输出多余的信息)
样例输入
3 4 5
样例输出
2.50
注意点
1,浮点数,
2,计算公式:
海伦公式求三角形面积S
S=1/2*bc*sinA求sinA
利用正弦定理求外接圆半径:
a/sinA=b/sinB=c/sinC=2R
R即为外接圆半径
#include<stdio.h>
#include<iostream>
#include<cmath>
#include<set>
#include<algorithm>//sort
#include<string>
#include <memory.h>
using namespace std;
int main()
{
double a,b,c;
while(cin>>a>>b>>c)
{
double p,s,sinA;
p=(a+b+c)/2.0;
//cout<<"P="<<p<<endl;
s=sqrt(p*(p-a)*(p-b)*(p-c));
//cout<<"s="<<s<<endl;
sinA=(2*s)/(b*c*1.0);
//cout<<"sinA="<<sinA<<endl;
double r= a/(sinA*2.0);
printf("%.2f",r) ;
cout<<endl;//恭喜发财!
}
return 0;
}