| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:给出公式! 不需要解析几何!In Reply To:给出公式! 不需要解析几何! Posted by:810974380 at 2009-08-03 15:46:30 >
> 先求出3边长,由海伦公式得出面积
> S=sqrt(p*(p-a)*(p-b)*(p-c)) p=(a+b+c)/2;
> 由三角形面积公式S=1/2*a*b*sin(C)
> 和正弦定理a/sin(A)=b/sin(B)=c/sin(C)=直径
> 可得直径=a*b*c/2/S; (a,b,c为三边长)
> 所以周长即为直径*PI
>
> 完毕!
>
> 下面是A过的代码!不嫌麻烦的可以看看!!!
>
> #include<stdio.h>
> #include<math.h>
> #define PI 3.141592653589793
> double w(double a,double b,double c,double d) //求边长
> { double x;
> x=sqrt((a-c)*(a-c)+(b-d)*(b-d));
> return x;
> }
> double g(double o,double p,double q) //求三角形面积:海伦公式
> { double m=(o+p+q)/2;
> m=sqrt(m*(m-o)*(m-p)*(m-q));
> return m;
> }
> double h(double s,double u,double v,double w) //求直径
> {double y;
> y=2*s/u/v;
> y=w/y;
> return y;
> }
> int main()
> {double a,b,c,d,e,f,i,j,k,l;
> while((scanf("%lf %lf %lf %lf %lf %lf",&a,&b,&c,&d,&e,&f))!=EOF){
> i=w(a,b,c,d);
> j=w(a,b,e,f);
> k=w(c,d,e,f);
> l=g(i,j,k);
> l=h(l,i,j,k);
> printf("%.2lf\n",PI*l);
> }
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator