解答代码
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;typedef struct node{ double x1,y1,x2,y2;}NODE;double max(double x,double y){ if(x<=y) return y; else return x;}double min(double x,double y){ if(x<=y) return x; else return y;}int main(){ NODE m1,m2; cin>>m1.x1>>m1.y1>>m1.x2>>m1.y2; cin>>m2.x1>>m2.y1>>m2.x2>>m2.y2; double maxx1=max(m1.x1,m1.x2),minx1=min(m1.x1,m1.x2),maxy1=max(m1.y1,m1.y2),miny1=min(m1.y1,m1.y2); double maxx2=max(m2.x1,m2.x2),minx2=min(m2.x1,m2.x2),maxy2=max(m2.y1,m2.y2),miny2=min(m2.y1,m2.y2); double xx=max(minx1,minx2),yy=max(miny1,miny2); double x=min(maxx1,maxx2),y=min(maxy1,maxy2); if(x>xx && y>yy) PRintf("%.2f/n",(xx-x)*(yy-y)); else printf("0.00/n"); return 0;}
新闻热点
疑难解答