题目链接 http://lightoj.com/volume_showproblem.php?problem=1178
题意:给定梯形四边边长求面积
思路:转化成一个三角形和一个平行四边形的面积和
#include <stdio.h>
#include <math.h>
#define PI acos(-1.0)
#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
double Deal ()
{
double a,b,c,d,temp,alpha;
scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
if (a > c) //另平行边中c为大边
{
temp=c;
c=a;
a=temp;
}
temp=c-a;
alpha=acos((temp*temp+b*b-d*d)/(2*temp*b));
return temp*b*sin(alpha)/2+a*b*sin(alpha);
}
int main ()
{
int T;
scanf("%d",&T);
for (int cas=1;cas<=T;cas++)
printf("Case %d: %.8lf\n",cas,Deal()); //LightOJ
return 0;
}