C语言 矩形面积交 谁借莪1个温暖的怀抱¢ 2022-11-27 10:15 128阅读 0赞 **问题描述** 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。 **输入格式** 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。 **输出格式** 输出仅包含一个实数,为交的面积,保留到小数后两位。 #include<stdio.h> int main(){ double min(double,double); double max(double,double); double x1,y1,x2,y2,x3,y3,x4,y4; double s; scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2); scanf("%lf%lf%lf%lf",&x3,&y3,&x4,&y4); double left,right,down,up; left=max(min(x1,x2),min(x3,x4));right=min(max(x1,x2),max(x3,x4)); down=max(min(y1,y2),min(y3,y4));up=min(max(y1,y2),max(y3,y4)); if(max(x1,x2)<min(x3,x4)||max(y1,y2)<min(y3,y4)) printf("0.00"); else printf("%.2f",(right-left)*(up-down)); return 0; } double min(double x,double y){ if(x>y)return y; else return x; } double max(double x,double y){ if(x>y)return x; else return y; }
还没有评论,来说两句吧...