NYOJ--1009 So Easy[Ⅰ]

 

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,计算公式:

利用余弦定理先求各个角的角度:
cosA=(b^2+c^2-a^2)/(2bc)
利用(sinA)^2=1-(cosA)^2求正弦值,
再利用正弦定理求外接圆半径:
a/sinA=b/sinB=c/sinC=2R
R即为外接圆半径
 #include<stdio.h>
 #include<math.h>
 int main()
 {

     double a,b,c,r,cosa;
     while(~scanf("%lf %lf %lf",&a,&b,&c))
     {
    cosa=(b*b+c*c-a*a)/(2*b*c);
     r=a/sqrt(1-cosa*cosa)/2.0;
     printf("%.2f\n",r);

     }

     return 0;
 }

你可能感兴趣的:(算法,printf,C语言,ACM)