不知道直接乘的为什么会错!!求大神指教啊!!!错误的可以过杭电的郁闷
正确的
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
double a,b,c,d,e,f;
double tr1,tr2,tr3,tr4,temp,ans;
while(scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&e,&f)!=EOF)
{
tr1=acos((c*c+b*b-f*f)/(2.0*b*c));
tr2=acos((a*a+c*c-e*e)/(2.0*a*c));
tr3=acos((a*a+b*b-d*d)/(2.0*a*b));
tr4=(tr1+tr2+tr3)/2.0;
temp=sqrt(sin(tr4)*sin(tr4-tr1)*sin(tr4-tr2)*sin(tr4-tr3));
ans=a*b*c*temp/3.0;
printf("%.4lf\n",ans);
}
return 0;
}
有bug 的求指教啊!!!
#include<cmath>
#include<iostream>
using namespace std;
int main()
{
double p,q,r,n,l,m,v;
while(scanf("%lf%lf%lf%lf%lf%lf", &p, &q, &r, &n, &m, &l)!=EOF)
{
v=(double)sqrt((4.0*p*p*q*q*r*r-p*p*(q*q+r*r-l*l)*(q*q+r*r-l*l)-
q*q*(r*r+p*p-m*m)*(r*r+p*p-m*m)-r*r*(p*p+q*q-n*n)*
(p*p+q*q-n*n)+(p*p+q*q-n*n)*(q*q+r*r-l*l)*
(r*r+p*p-m*m)))/12.0;
printf("%.4lf\n",v);
}
return 0;
}