现在的位置: 首页 > 综合 > 正文

hdu2056(求相交的面积)

2018年02月22日 ⁄ 综合 ⁄ 共 609字 ⁄ 字号 评论关闭

#include<stdio.h>
double max(double a,double b)
{
    if(a>b)
    return a;
    else
    return b;
}

double min(double a,double b)
{
    if(a>b)
    return b;
    else
    return a;
}
int main()
{
 double a1,b1,a2,b2,a3,b3,a4,b4,area,t1,t2;
 while (scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&a1,&b1,&a2,&b2,&a3,&b3,&a4,&b4)!=EOF)
 {
  if(a1>a2)
  {
   t1=a2;
   a2=a1;
   a1=t1;
  }
  if(b1>b2)
  {
   t2=b2;
   b2=b1;
   b1=t2;
  }

  if(a3>a4)
  {
   t1=a4;
   a4=a3;
   a3=t1;
  }
  if(b3>b4)
  {
   t2=b4;
   b4=b3;
   b3=t2;
  }
   double l,h;
   h=min(b2,b4)-max(b1,b3);
   l=min(a2,a4)-max(a1,a3);
   if(h<=0||l<=0)
   area=0;
   else
   area=h*l;

  printf("%.2lf\n",area);
 }

 return 0;
}

【上篇】
【下篇】

抱歉!评论已关闭.